[python-ldap] ANN: python-ldap 2.5.2
Petr Viktorin
pviktori at redhat.com
Tue Nov 21 06:05:24 EST 2017
On 11/21/2017 11:31 AM, Michael Ströder wrote:
> Petr Viktorin wrote:
>> That's a wrong assumption on your side. We all agree here that attribute
>> *values* should, at the python-ldap level, always be byte strings.
>> [..]
>> Now, the question is about DNs, attribute names, and other data
>> specified as UTF-8.
>
> But what about the very specific values in extended controls and their
> direct use for further LDAP operations? AFAICS there's no work done in
> pyldap for this.
Right. In pyldap, in all cases where attribute values are to be used as
text, they need to be decoded first – whether they be names of people,
descriptions, or, yes, attribute names.
Porting any project to Python 3 involves deciding what is text and what
is bytes, and changing appropriately. Almost always, some need to
encode/decode will leak to the applications – you can't really get away
from that.
We decided the text/bytes boundary, based both on the specs and on the
needs of real-world projects that build on top of the library. Using the
result feels that one is working with the language (Python 3), rather
than against it.
> Frankly I'm really upset that you changed the API while keep the module
> name space just because RedHat was too lazy to adjust own code. This is
> already causing conflicts with distro packages. The role of RedHat in
> this story is not really appealing.
Well, not everyone around the form, including the original author, is
from Red Hat.
Feel free to accuse me (who agreed with keeping the namespace, so we
could continue using python-ldap for the cases where it can be used,
i.e. in python2) or the FreeIPA project (who are the ones "lazy" to
adjust imports), but who these developers work for is quite irrelevant
in this case.
Or blame Red Hat, if you want to blame it. But if you want a discussion,
explanations, or other points of view, it'll be better to talk to the
specific people.
> Personally I'm considering forking python-ldap into a separate name
> space to keep my own stuff working (with adapted import statements).
That would be sad. We always wanted to contribute the pyldap changes
back into python-ldap, when possible; this was even one of the major
reasons for keeping the same import name.
Before you go and fork, can we talk about other possible ways out? We do
want to help the project, not hurt it – but we're really struggling to
see the best way for us to do that.
--
Petr Viktorin
More information about the python-ldap
mailing list