Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

python-ldap: LDAP client API for Python

What is python-ldap?

python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP client libs for that purpose.

Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 sub-schema, etc.).

Not included: Direct BER support

See INSTALL for version compatibility

See TODO for planned features. Contributors welcome.

For module documentation, see:

https://www.python-ldap.org/

Quick usage example:

importldapl=ldap.initialize("ldap://my_ldap_server.my_domain")
l.simple_bind_s("","")
l.search_s("o=My Organisation, c=AU", ldap.SCOPE_SUBTREE, "objectclass=*")

See directory Demo/ of source distribution package for more example code.

Author(s) contact and documentation:

https://www.python-ldap.org/

If you are looking for help, please try the mailing list archives first, then send a question to the mailing list. Be warned that questions will be ignored if they can be trivially answered by referring to the documentation.

If you are interested in helping, please contact the mailing list. If you want new features or upgrades, please check the mailing list archives and then enquire about any progress.

Acknowledgements:

Thanks to Konstantin Chuguev <Konstantin.Chuguev at dante.org.uk> and Steffen Ries <steffen.ries at sympatico.ca> for working on support for OpenLDAP 2.0.x features.

Thanks to Michael Stroeder <michael at stroeder.com> for the modules ldif, ldapurl, ldap/schema/*.py, ldap/*.py and ldap/controls/*.py.

Thanks to Hans Aschauer <Hans.Aschauer at Physik.uni-muenchen.de> for the C wrapper schema and SASL support.

Thanks to Mauro Cicognini <mcicogni at siosistemi.it> for the WIN32/MSVC6 bits, and the pre-built WIN32 ldap.pyd.

Thanks to Waldemar Osuch <waldemar.osuch at gmail.com> for contributing the new-style docs based on reStructuredText.

Thanks to Torsten Kurbad <torsten at tk-webart.de> for the easy_install support.

Thanks to James Andrewartha <jamesa at daa.com.au> for significant contribution to Doc/*.tex.

Thanks to Rich Megginson <rmeggins at redhat.com> for extending support for LDAPv3 controls and adding support for LDAPv3 extended operations.

Thanks to Peter Gietz, DAASI for funding some control modules.

Thanks to Chris Mikkelson for various fixes and ldap.syncrepl.

These very kind people have supplied patches or suggested changes:

  • Federico Di Gregorio <fog at mixadlive.com>
  • John Benninghoff <johnb at netscape.com>
  • Donn Cave <donn at u.washington.edu>
  • Jason Gunthorpe <jgg at debian.org>
  • gurney_j <gurney_j at 4j.lane.edu>
  • Eric S. Johansson <esj at harvee.billerica.ma.us>
  • David Margrave <davidma at premier1.net>
  • Uche Ogbuji <uche.ogbuji at fourthought.com>
  • Neale Pickett <neale at lanl.gov>
  • Blake Weston <weston at platinum1.cambridge.scr.slb.com>
  • Wido Depping <wido.depping at gmail.com>
  • Deepak Giridharagopal <deepak at arlut.utexas.edu>
  • Ingo Steuwer <steuwer at univention.de>
  • Andreas Hasenack <ahasenack at terra.com.br>
  • Matej Vela <vela at debian.org>

These people contributed to Python 3 porting (at https://github.com/pyldap/):

  • ​A. Karl Kornel
  • Alex Willmer
  • Aymeric Augustin
  • Bradley Baetz
  • Christian Heimes
  • Dirk Mueller
  • Jon Dufresne
  • Martin Basti
  • Miro Hrončok
  • Paul Aurich
  • Petr Viktorin
  • Pieterjan De Potter
  • Raphaël Barrois
  • Robert Kuska
  • Stanislav Láznička
  • Tobias Bräutigam
  • Tom van Dijk
  • Wentao Han
  • William Brown

Thanks to all the guys on the python-ldap mailing list for their contributions and input into this package.

Thanks! We may have missed someone: please mail us if we have omitted your name.

Licence

The python-ldap project comes with a LICENCE file.

We are aware that its text is unclear, but it cannot be changed: all authors of python-ldap would need to approve the licence change, but a complete list of all the authors is not available. (Note that the Git repository of the project is incomplete. Furthermore, commits imported from CVS lack authorship information; users "stroeder" or "leonard" are commiters (reviewers), but sometimes not authors of the committed code.)

The current maintainers assume that the license is the sentence that refers to "Python-style license" and assume this means a highly permissive open source license that only requires preservation of the text of the LICENCE file (including the disclaimer paragraph).


All contributions committed since July 1st, 2021, as well as some past contributions, are licensed under the MIT license. The MIT licence and more details are listed in the file LICENCE.MIT.

About

LDAP client API for Python

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages