Python-LDAP for Python 3.0

Michael Ströder michael at stroeder.com
Tue Aug 4 09:18:10 CEST 2009


David,

David Leonard wrote:
> 
> I have been looking at how to build the _ldap module for python3.x.

I'm glad you're again working on python-ldap!

Several months ago I tried to raise a discussion about this:
http://www.mail-archive.com/python-ldap-dev@lists.sourceforge.net/msg00394.html

> So, here I'd like to propose and explain some API changes Python 3.x
> users. I'm focused on the _ldap module right now, but the (pure python)
> library modules will experience carry-on effects.
> 
> These are my goals with the _ldap module:
> 
>     * allow Python 2.x clients to keep working without changes
>     * dual environment support: both 2.x and 3.x build environments

I'm not sure whether we should maintain backwards compability. Given the
amount of code you're currently changing it's worth to think more about
an incompatible change.

Before going into technical details I'd like to discuss the goals from a
very high-level view. We should discuss these ideas before going any
further (slightly updated compared to the old posting mentioned above):

Move away from SourceForge

New GIT-based(?) repository (distributed VCS)

Wrap libldap (and libber?) with built-in ctypes

Distinct classes for LDAP search results, continuation references,
entries etc.

Better exception classes for errors with resultCode, diagnosticMessage
etc. being class members.

Also return diagnosticMessage upon success in search results.

Receive LDAPv3 extended controls in intermediate search responses.

Compability layers for mozldap, OpenLDAP and winldap?

Partial rewrite of ldap.schema with some API changes

Class library for LDAP syntaxes and matching rules

Full Unicode support maybe with schema-aware LDAP operations

I'd prefer python-ldap to be part of the Python standard lib in the long
run. New code would make it possible to meet the licensing prerequisites
of the PSF for this from the very beginning.

Ciao, Michael.



More information about the python-ldap mailing list