Skip to main content

A pure-Python ORM-esque LDAP client.

Project description

https://travis-ci.org/ashafer01/laurelin.svg?branch=master

View documentation on ReadTheDocs. You might also like to read the introduction.

pip install laurelin-ldap or clone the repo to get started.

Please star the repo on GitHub if you like the project!

Named for one of the Two Trees of Valinor in Tolkien lore.

Laurelin, which means ‘Golden-song’ in the Quenya tongue, bore shining golden leaves, the Light from which mingled with the Silver Flowers of the Elder Tree to illuminate the land of the Valar.

Features Overview

  • Fully compliant with RFC 4510 and its children, as well as several other related standards.

  • Tested against CPython 2.7, 3.3, 3.4, 3.5, 3.6, PyPy, and PyPy3.

  • Pythonic attributes input and presentation. It’s just a dictionary.

  • Exceedingly easy relative searching. All objects have a suite of search methods which will automatically pass the object’s DN as the search base. In many cases, you wont have to pass any arguments to search methods.

  • Similarly, all objects have a suite of modify methods which allow you to change attributes on already-queried objects without having to pass their DN again.

  • You never have to type the full absolute DN.

  • Intelligent modification will never send existing attribute values to the server, nor will it request deletion of attribute values that do not exist. This prevents many unnecessary server errors. Laurelin will go as far as to query the object for you before modifying it to ensure you don’t see pointless errors (if you want it to).

  • Custom validation. You can define validators which check new objects and modify operations for correctness before sending them to the server. Since you control this code, this can be anything from a simple regex check against a particular attribute value, to a complex approval queue mechanism.

  • Highly extensible. New methods can easily and safely be bound to base classes.

  • Seamless integration of controls. Once defined, these are just new keyword arguments on particular methods, and additional attributes on the response object.

  • Includes Python implementations of standard schema elements.

Download files

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

Source Distribution

laurelin-ldap-1.2.0.tar.gz (93.7 kB view details)

Uploaded Source

Built Distribution

laurelin_ldap-1.2.0-py2.py3-none-any.whl (103.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file laurelin-ldap-1.2.0.tar.gz.

File metadata

File hashes

Hashes for laurelin-ldap-1.2.0.tar.gz
Algorithm Hash digest
SHA256 fa1de6876329ef58173e34140ddbd05e4dc2493ae8c1d798c5f85441f9a8e46d
MD5 7039b7a3a964f3c8588bd4ae18520704
BLAKE2b-256 f4d7a0ff6f746540ab3afb8174edaf2e6c95a22f0a0a703eee543de0d1992492

See more details on using hashes here.

File details

Details for the file laurelin_ldap-1.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for laurelin_ldap-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f24c74294a20e4757e3f4a7009ee6f712002b89d20df2a976d116665d33c8e94
MD5 5f3d103019a89df50c8d9e14f11601bb
BLAKE2b-256 43ba0b7a32d29019148039dbfc2755e2711d578477946aff15374137d577407f

See more details on using hashes here.

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