{ "info": { "author": "Tommi Virtanen", "author_email": "tv@eagain.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Twisted", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP" ], "description": "Ldaptor\n=======\n\n.. image:: https://travis-ci.org/twisted/ldaptor.svg?branch=master\n :target: https://travis-ci.org/twisted/ldaptor\n\nLdaptor is a pure-Python library that implements:\n\n- LDAP client logic\n- separately-accessible LDAP and BER protocol message generation/parsing\n- ASCII-format LDAP filter generation and parsing\n- LDIF format data generation\n- Samba password changing logic\n\nAlso included is a set of LDAP utilities for use from the command line.\n\nVerbose documentation can be found on `ReadTheDocs `_.\n\n\nQuick Usage Example\n-------------------\n\n.. code-block:: python\n\n from twisted.internet import reactor, defer\n from ldaptor.protocols.ldap import ldapclient, ldapsyntax, ldapconnector\n\n @defer.inlineCallbacks\n def example():\n # The following arguments may be also specified as unicode strings\n # but it is recommended to use byte strings for ldaptor objects\n serverip = b'192.168.128.21'\n basedn = b'dc=example,dc=com'\n binddn = b'bjensen@example.com'\n bindpw = b'secret'\n query = b'(cn=Babs*)'\n c = ldapconnector.LDAPClientCreator(reactor, ldapclient.LDAPClient)\n overrides = {basedn: (serverip, 389)}\n client = yield c.connect(basedn, overrides=overrides)\n yield client.bind(binddn, bindpw)\n o = ldapsyntax.LDAPEntry(client, basedn)\n results = yield o.search(filterText=query)\n for entry in results:\n print(entry.getLDIF())\n\n if __name__ == '__main__':\n df = example()\n df.addErrback(lambda err: err.printTraceback())\n df.addCallback(lambda _: reactor.stop())\n reactor.run()\n\n\nInstallation\n------------\n\nLdaptor can be installed using the standard command line method::\n\n python setup.py install\n\nor using pip from PyPI::\n\n pip install ldaptor\n\nLinux distributions may also have ready packaged versions of Ldaptor and Twisted. Debian and Ubuntu have quality Ldaptor packages that can be installed e.g., by::\n\n apt-get install python-ldaptor\n\nTo run the LDAP server (bind port 38942) from a repo checkout with\nthe project installed::\n\n twistd -n --pidfile=ldapserver.pid --logfile=ldapserver.log \\\n -y test-ldapserver.tac\n\nDependencies:\n\n- `Twisted[tls] `_\n- `pyparsing `_\n- `passlib `_ for Samba passwords\n- `six `_ for simultaneous Python 2 and 3 compatability\n- `zope.interface `_ to register implementers of Twisted interfaces\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/twisted/ldaptor", "keywords": "", "license": "MIT", "maintainer": "Bret Curtis", "maintainer_email": "psi29a@gmail.com", "name": "ldaptor", "package_url": "https://pypi.org/project/ldaptor/", "platform": "", "project_url": "https://pypi.org/project/ldaptor/", "project_urls": { "Homepage": "https://github.com/twisted/ldaptor" }, "release_url": "https://pypi.org/project/ldaptor/19.1.0/", "requires_dist": [ "passlib", "Twisted[tls]", "pyparsing", "six (>=1.7)", "zope.interface" ], "requires_python": "", "summary": "A Pure-Python Twisted library for LDAP", "version": "19.1.0" }, "last_serial": 5872475, "releases": { "14.0": [ { "comment_text": "", "digests": { "md5": "b1adf72327b962059280cf5d109668b1", "sha256": "6f91311333d200fa13ee8db37f30afec4f06788d54e996da826fcbb9561cab74" }, "downloads": -1, "filename": "ldaptor-14.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b1adf72327b962059280cf5d109668b1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 153917, "upload_time": "2014-11-04T08:05:17", "url": "https://files.pythonhosted.org/packages/42/e7/c4a5ee98a845ba78772eaaee64b0cfcea3ad5f0763b9776f84c6cda6b062/ldaptor-14.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c76ef8a499bc5909f881a3edc276488", "sha256": "88b0e15fe0e706bf275d0b2e7bfffe36490a782e745292808ad99eb9cf686479" }, "downloads": -1, "filename": "ldaptor-14.0.tar.gz", "has_sig": false, "md5_digest": "7c76ef8a499bc5909f881a3edc276488", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 259774, "upload_time": "2014-11-04T08:05:08", "url": "https://files.pythonhosted.org/packages/50/48/4cec8e40212f15c1375a6d01fe1e9889236c14b70d3d4d36a49d98cb35a5/ldaptor-14.0.tar.gz" } ], "16.0.1": [ { "comment_text": "", "digests": { "md5": "b178085a5b6862e86fec11d93adaff28", "sha256": "77ee958076d0bcf78d104057141232f17c53f5d49033dad12a84989dbe5be504" }, "downloads": -1, "filename": "ldaptor-16.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b178085a5b6862e86fec11d93adaff28", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 163955, "upload_time": "2016-06-07T15:09:35", "url": "https://files.pythonhosted.org/packages/43/d8/c5cd0d2e6eda11cb4e7bf61e1db892be27e325a5c505daf45919288e46c2/ldaptor-16.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2bda97c508c4fa3a269f40209f6e5311", "sha256": "6b9ebe5814e9e7091703c4e3bfeae73b46508b4678e2ff403cddaedf8213815d" }, "downloads": -1, "filename": "ldaptor-16.0.1.tar.gz", "has_sig": true, "md5_digest": "2bda97c508c4fa3a269f40209f6e5311", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 273446, "upload_time": "2016-06-07T15:09:45", "url": "https://files.pythonhosted.org/packages/d9/76/a25321b8941bf02e24b4923273caaf531890fb092a06f14d62c1683b11a2/ldaptor-16.0.1.tar.gz" } ], "19.0.0": [ { "comment_text": "", "digests": { "md5": "3b0b6207c4d018f88397a89c7dc7090e", "sha256": "86050d890cea32002ddbc437a54c5300bc81d47fa3a87fcd98d0a75bb187f2de" }, "downloads": -1, "filename": "ldaptor-19.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3b0b6207c4d018f88397a89c7dc7090e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 178427, "upload_time": "2019-03-05T16:03:29", "url": "https://files.pythonhosted.org/packages/35/0b/28b79755d0173d996f077be517be19c0563b690f3e438d2b113cb90ff508/ldaptor-19.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1d1bbad6258c87bd1835fcaa951de35", "sha256": "100ee49fb76ffb2707653b2d7847715f8bc7469d8738391056c6a96ef63f27ea" }, "downloads": -1, "filename": "ldaptor-19.0.0.tar.gz", "has_sig": false, "md5_digest": "c1d1bbad6258c87bd1835fcaa951de35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 294624, "upload_time": "2019-03-05T16:03:31", "url": "https://files.pythonhosted.org/packages/1e/67/ed943daf78ba4d66d5842991eafe75a909072d9ad7e28c4c61dab3548f94/ldaptor-19.0.0.tar.gz" } ], "19.1.0": [ { "comment_text": "", "digests": { "md5": "86de851b2e0fc76d6bc00dac6619a638", "sha256": "85f7a91b9ea68392bb3594f30ad6a8140fa7c307f2b35ebf005ae50d7a789124" }, "downloads": -1, "filename": "ldaptor-19.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "86de851b2e0fc76d6bc00dac6619a638", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 181453, "upload_time": "2019-09-23T09:25:38", "url": "https://files.pythonhosted.org/packages/93/07/8a8f88a80fcd5c5af50c3cd8e2370168ffa183831b2a697240ab93d2bb46/ldaptor-19.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bee1e75daa206f9a4ed556af98b2f2c4", "sha256": "64c7b870c77e34e4f5f9cfdf330b9702e89b4dd0f64275704f86c1468312c755" }, "downloads": -1, "filename": "ldaptor-19.1.0.tar.gz", "has_sig": true, "md5_digest": "bee1e75daa206f9a4ed556af98b2f2c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 299018, "upload_time": "2019-09-23T09:25:41", "url": "https://files.pythonhosted.org/packages/35/b9/e35227fdfaac5b0c5d0d94b3b2d1855dbaa97e057f21fc20e1cf4d6831bd/ldaptor-19.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "86de851b2e0fc76d6bc00dac6619a638", "sha256": "85f7a91b9ea68392bb3594f30ad6a8140fa7c307f2b35ebf005ae50d7a789124" }, "downloads": -1, "filename": "ldaptor-19.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "86de851b2e0fc76d6bc00dac6619a638", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 181453, "upload_time": "2019-09-23T09:25:38", "url": "https://files.pythonhosted.org/packages/93/07/8a8f88a80fcd5c5af50c3cd8e2370168ffa183831b2a697240ab93d2bb46/ldaptor-19.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bee1e75daa206f9a4ed556af98b2f2c4", "sha256": "64c7b870c77e34e4f5f9cfdf330b9702e89b4dd0f64275704f86c1468312c755" }, "downloads": -1, "filename": "ldaptor-19.1.0.tar.gz", "has_sig": true, "md5_digest": "bee1e75daa206f9a4ed556af98b2f2c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 299018, "upload_time": "2019-09-23T09:25:41", "url": "https://files.pythonhosted.org/packages/35/b9/e35227fdfaac5b0c5d0d94b3b2d1855dbaa97e057f21fc20e1cf4d6831bd/ldaptor-19.1.0.tar.gz" } ] }