Skip to main content

A strictly RFC 4510 conforming LDAP V3 pure Python client library

Project description

Latest Version License TRAVIS-CI build status for master branch

ldap3 is a strictly RFC 4510 conforming LDAP V3 pure Python client library. The same codebase runs in Python 2, Python 3, PyPy and PyPy3.

Version 2 warning

In version 2 of ldap3 some default values have been changed and the ldap3 namespace has been decluttered, removing redundant constants (look at the changelog for details). Also, the result code constants were moved to ldap3.core.results and the ldap3 custom exceptions were stored in ldap3.core.exceptions. If you experience errors in your existing code you should rearrange the import statements or explicitly set the defaults to their former values.

A more pythonic LDAP

LDAP operations look clumsy and hard-to-use because they reflect the old-age idea that time-consuming operations should be performed client-side to not hog the server with heavy elaborations. To alleviate this ldap3 includes a fully functional Abstraction Layer that lets you interact with the LDAP server in a modern and pythonic way. With the Abstraction Layer you don’t need to directly issue any LDAP operation at all.

Home Page

Project home page is


Documentation is available at


The ldap3 project is open source software released under the LGPL v3 license. Copyright 2013, 2014, 2015, 2016, 2017 Giovanni Cannata

PEP8 Compliance

ldap3 is PEP8 compliant, except for line length.


Package download is available at


Install with pip install ldap3

Git repository

You can download the latest source at

Continuous integration

Continuous integration for testing is at


You can submit support tickets on You can submit pull request on the dev branch at

Thanks to

  • Ilya Etingof, the author of the pyasn1 package for his excellent work and support.

  • Mark Lutz for his Learning Python and Programming Python excellent books series and John Goerzen and Brandon Rhodes for their book Foundations of Python Network Programming. These books are wonderful tools for learning Python and this project owes a lot to them.

  • JetBrains for donating to this project the Open Source license of PyCharm Professional.

  • GitHub for providing the free source repository space and the tools I use to develop this project.

  • The FreeIPA team for letting me use their demo LDAP server in the ldap3 tutorial.

Contact me

For information and suggestions you can contact me at You can also open a support ticket on


Updated changelog at

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ldap3-2.4.tar.gz (344.5 kB view hashes)

Uploaded Source

Built Distributions (961.7 kB view hashes)

Uploaded Source

ldap3-2.4-py3.6.egg (764.8 kB view hashes)

Uploaded Source

ldap3-2.4-py2.py3-none-any.whl (373.5 kB view hashes)

Uploaded Python 2 Python 3

ldap3-2.4-py2.7.egg (765.4 kB view hashes)

Uploaded Source

ldap3-2.4-py2.6.egg (766.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page