Skip to main content

A simple connector pool for python-ldap.

Project description

A simple connector pool for pyldap.

The pool keeps LDAP connectors alive and let you reuse them, drastically reducing the time spent to initiate a ldap connection.

The pool has useful features like:

  • transparent reconnection on failures or server restarts
  • configurable pool size and connectors timeouts
  • configurable max lifetime for connectors
  • a context manager to simplify acquiring and releasing a connector

You need pyldap in order to use this library

Quickstart

To work with the pool, you just need to create it, then use it as a context manager with the connection method:

from ldappool import ConnectionManager

cm = ConnectionManager('ldap://localhost')

with cm.connection('uid=adminuser,ou=logins,dc=mozilla', 'password') as conn:
    .. do something with conn ..

The connector returned by connection is a LDAPObject, that’s binded to the server. See https://github.com/pyldap/pyldap/ for details on how to use a connector.

ConnectionManager options

Here are the options you can use when instanciating the pool:

  • uri: ldap server uri [mandatory]
  • bind: default bind that will be used to bind a connector. default: None
  • passwd: default password that will be used to bind a connector. default: None
  • size: pool size. default: 10
  • retry_max: number of attempts when a server is down. default: 3
  • retry_delay: delay in seconds before a retry. default: .1
  • use_tls: activate TLS when connecting. default: False
  • timeout: connector timeout. default: -1
  • use_pool: activates the pool. If False, will recreate a connector each time. default: True

The connection method takes two options:

  • bind: bind used to connect. If None, uses the pool default’s. default: None
  • passwd: password used to connect. If None, uses the pool default’s. default: None

History

Prior to v2.0.0 ldappool required python-ldap. As of v2.0.0 this library now required pyldap, a python 3 compatible fork of python-ldap.

Project details


Release history Release notifications

This version
History Node

2.2.0

History Node

2.1.0

History Node

2.0.0

History Node

1.0

History Node

0.9

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
ldappool-2.2.0-py2.py3-none-any.whl (12.3 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Jan 31, 2018
ldappool-2.2.0.tar.gz (15.8 kB) Copy SHA256 hash SHA256 Source None Jan 31, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page