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


Download files

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

Source Distribution

ldappool-2.2.1.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

ldappool-2.2.1-py2.py3-none-any.whl (11.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ldappool-2.2.1.tar.gz.

File metadata

  • Download URL: ldappool-2.2.1.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.2

File hashes

Hashes for ldappool-2.2.1.tar.gz
Algorithm Hash digest
SHA256 6689ad8f61833dac8cb4f9547b93aa4bd3535908ff5b0004b02d518298fe7333
MD5 172111adf38c98cfcec4112ba888cae1
BLAKE2b-256 044142f822f465b8fa3652fc306bf4eb65ce74b34fac48fba3c2edacf50ded30

See more details on using hashes here.

Provenance

File details

Details for the file ldappool-2.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: ldappool-2.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.2

File hashes

Hashes for ldappool-2.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 759856c5e88d52f108c8ef2212bac5e50411eb36c2c80c02b5ed61f5dc3052b6
MD5 05a3f9d7671091cc10738e03d1ef9667
BLAKE2b-256 63b123cbaddb8d042fdf3b5375b311afcf8905bcf875ddfc5d50240fbcda1506

See more details on using hashes here.

Provenance

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