Skip to main content

A Python binding for libldap

Project description

python-libldap

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.

Requirements

  • Python >= 3.4
  • libldap
  • libsasl2

Build Requirements

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

Install

Install with pip install python-libldap

License

Under the MIT license.

Bug tracker

If you have any suggestions or bug reports please report them to the issue tracker at https://github.com/yykamei/python-libldap/issues .

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')
>>> ld.search('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')
>>>

Changes

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.10
Filename, size File type Python version Upload date Hashes
Filename, size python-libldap-0.8.10.tar.gz (23.6 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