• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

ldap3/H07-Sep-2020-29,34523,139

ldap3.egg-info/H03-May-2022-16298

test/H07-Sep-2020-10,5298,046

MANIFEST.inH A D18-Nov-201694 21

PKG-INFOH A D07-Sep-20206.4 KiB16298

README.rstH A D08-Aug-20204.3 KiB13976

_version.jsonH A D18-Aug-2020364 1211

setup.cfgH A D07-Sep-202042 53

setup.pyH A D21-Jul-20184 KiB10976

README.rst

1LDAP3
2=====
3
4.. image:: https://img.shields.io/pypi/v/ldap3.svg
5    :target: https://pypi.python.org/pypi/ldap3/
6    :alt: Latest Version
7
8.. image:: https://img.shields.io/pypi/l/ldap3.svg
9    :target: https://pypi.python.org/pypi/ldap3/
10    :alt: License
11
12.. image:: https://img.shields.io/travis/cannatag/ldap3/master.svg
13    :target: https://travis-ci.org/cannatag/ldap3
14    :alt: TRAVIS-CI build status for master branch
15
16
17ldap3 is a strictly RFC 4510 conforming **LDAP V3 pure Python client** library. The same codebase runs in Python 2, Python 3, PyPy and PyPy3.
18
19
20A more pythonic LDAP
21--------------------
22
23LDAP operations look clumsy and hard-to-use because they reflect the old-age idea that time-consuming operations should be performed client-side
24to not hog the server with heavy elaborations. To alleviate this ldap3 includes a fully functional **Abstraction Layer** that lets you
25interact with the LDAP server in a modern and *pythonic* way. With the Abstraction Layer you don't need to directly issue any LDAP operation at all.
26
27
28Version 2.8 note
29-----------------
30
31Version 2.8 of ldap3 introduced **SafeSync**, a new connection strategy that can be used in multithreaded programs. In previous version only the ASYNC strategy was thread safe.
32   Each LDAP operation with the SafeSync strategy returns a tuple of four elements: status, result, response and request.
33
34   * status: states if the operation was successful
35
36   * result: the LDAP result of the operation
37
38   * response: the response of a LDAP Search Operation
39
40   * request: the original request of the operation
41
42   The SafeSync strategy can be used with the Abstract Layer, but the Abstract Layer currently is NOT thread safe.
43   The SafeSync import name is *SAFE_SYNC*::
44
45      from ldap3 import Server, Connection, SAFE_SYNC
46      server = Server('my_server')
47      conn = Connection(s, 'my_user', 'my_password', strategy=SAFE_SYNC, auto_bind=True)
48      status, result, response, _ = conn.search('o=test', '(objectclass=*)')  # usually you don't need the original request (4th element of the return tuple)
49
50
51
52Home Page
53---------
54
55The home page of the ldap3 project is https://github.com/cannatag/ldap3
56
57
58Documentation
59-------------
60
61Documentation is available at http://ldap3.readthedocs.io
62
63
64License
65-------
66
67The ldap3 project is open source software released under the **LGPL v3 license**.
68Copyright 2013 - 2020 Giovanni Cannata
69
70
71PEP8 Compliance
72---------------
73
74ldap3 is PEP8 compliant, except for line length.
75
76
77Download
78--------
79
80Package download is available at https://pypi.python.org/pypi/ldap3.
81
82
83Install
84-------
85
86Install with **pip install ldap3**
87
88
89Git repository
90--------------
91
92You can download the latest source at https://github.com/cannatag/ldap3
93
94
95Continuous integration
96----------------------
97
98Continuous integration for testing is at https://travis-ci.org/cannatag/ldap3
99
100
101Support & Development
102---------------------
103
104You can submit support tickets on https://github.com/cannatag/ldap3/issues/new
105You can submit pull request on the **dev** branch at https://github.com/cannatag/ldap3/tree/dev
106
107
108Thanks to
109---------
110
111* **Ilya Etingof**, the author of the *pyasn1* package for his excellent work and support.
112
113* **Mark Lutz** for his *Learning Python* and *Programming Python* excellent books series and **John Goerzen** and **Brandon Rhodes** for their book *Foundations of Python Network Programming*. These books are wonderful tools for learning Python and this project owes a lot to them.
114
115* **JetBrains** for donating to this project the Open Source license of *PyCharm Professional*.
116
117* **GitHub** for providing the *free source repository space and the tools* I use to develop this project.
118
119* The **FreeIPA** team for letting me use their demo LDAP server in the ldap3 tutorial.
120
121
122Contact me
123----------
124
125For information and suggestions you can contact me at cannatag@gmail.com. You can also open a support ticket on https://github.com/cannatag/ldap3/issues/new
126
127
128Donate
129------
130
131If you want to keep this project up and running you can send me an Amazon gift card. I will use it to improve my skills in Information and Communication technologies.
132
133
134Changelog
135---------
136
137Updated changelog at https://ldap3.readthedocs.io/changelog.html
138
139