Skip to main content

A Python binding for libldap

Project description


python-libldap is a Python binding for libldap (LDAP client library). libldap is provided by OpenLDAP.

This project requires Python version 3.4 or later (not Python 2). If you want to use libldap wrapper library with Python 3, please try it.


  • Python >= 3.4
  • libldap
  • libsasl2

Build Requirements

  • Python developer package >= 3.4
  • libldap developer package
  • libsasl2 developer package


Install with pip install python-libldap


Under the MIT license.

Bug tracker

If you have any suggestions or bug reports please report them to the issue tracker at .

Quick start

Simple search operation

>>> from libldap import LDAP, LDAP_SCOPE_SUB
>>> ld = LDAP('ldap://localhost/')
>>> ld.bind('cn=master,dc=example,dc=com', 'secret')
>>>'dc=example,dc=com', LDAP_SCOPE_SUB, '(objectClass=*)')

Add operation

>>> from libldap import LDAP
>>> ld = LDAP('ldap://localhost/')
>>> ld.bind('cn=master,dc=example,dc=com', 'secret')
>>> ld.add('cn=group1,ou=Groups,dc=example,dc=com', [
...     ('objectClass', ['top', 'posixGroup']),
...     ('cn', ['group1']),
...     ('gidNumber', ['100']),
...     ('description', ['Test Group 1']),
... ])

Modify operation

>>> from libldap import LDAP, LDAP_MOD_REPLACE
>>> ld = LDAP('ldap://localhost/')
>>> ld.bind('cn=master,dc=example,dc=com', 'secret')
>>> ld.modify('cn=group1,ou=Groups,dc=example,dc=com', [
...     ('gidNumber', ['101'], LDAP_MOD_REPLACE),
... ])

Delete operation

>>> from libldap import LDAP
>>> ld = LDAP('ldap://localhost/')
>>> ld.bind('cn=master,dc=example,dc=com', 'secret')
>>> ld.delete('cn=group1,ou=Groups,dc=example,dc=com')


0.8.14 release

  • Fix: LDAP.rename() description

0.8.13 release

  • Fix: Encoding error and getting size of characters

0.8.12 release

  • Fix: Get LDAP value length by using Pychon/C API in str2berval()
  • LDAP constructor receives start_tls parameter
  • LDAP_OPT_REFERRALS is False by default

0.8.11 release

  • LDAP constructor receives options parameter

0.8.10 release

  • Fix: We raise LDAPAPIError

0.8.9 release

  • Add LDAP Exceptions which inherit LDAPError

0.8.8 release

  • LDAP class constructor receives list of uri

0.8.7 release

  • LDAP class supports context manager

0.8.6 release

  • Change LDAP entries value type from str to bytes in LDAP.search_result()
  • Change LDAP entry object (object has ‘dn’ attribute) in LDAP.search_result()

0.8.5 release

  • Change deleteoldrdn default value from True to False in LDAP.rename()

Project details

Download files

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

Files for python-libldap, version 0.8.14
Filename, size File type Python version Upload date Hashes
Filename, size python-libldap-0.8.14.tar.gz (24.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page