Skip to content

feat: Introduce ldap.ldif and ldap.url - #658

Open
mistotebe wants to merge 5 commits into
python-ldap:mainfrom
mistotebe:stub_interfaces
Open

mistotebe wants to merge 5 commits into
python-ldap:mainfrom
mistotebe:stub_interfaces

Conversation

@mistotebe

Copy link
Copy Markdown
Contributor

Fixes: #640

Haven't figured out whether it's possible to duplicate the doc pages for the new names yet.

@mistotebe mistotebe added this to the 3.5.0 milestone Sep 24, 2026
@mistotebe
mistotebe requested a review from spaceone September 25, 2026 09:45
@mistotebe
mistotebe marked this pull request as ready for review September 25, 2026 09:45

@spaceone spaceone left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay for me. All commit messages could reference the issue.

Comment thread Lib/ldapurl.py
# constants
'SEARCH_SCOPE','SEARCH_SCOPE_STR',
'LDAP_SCOPE_BASE','LDAP_SCOPE_ONELEVEL','LDAP_SCOPE_SUBTREE',
'LDAP_SCOPE_SUBORDINATES',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know why these constants are duplicated and exposed here.
But okay with adding the missing one until that is clarified.

Probably because the module was ensured to work without _ldap / libldap which is not possible anymore after this move.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only realised we've promised that today. It's not been possible since the type hinting PR but more importantly, the promise to use ldif and ldapurl independently sort of failed since we never put them on pypi separately and now ldif exists there and is an incompatible implementation, we'll never be able to.

I avoid the rewrites that would be relevant if we formally dropped that promise at this point so we can try and fix it in 3.5.x if people show us that they care about the promise but we'll need to know how they manage to extract them when there is no official way to do so AFAIK.

Still happy to do sensible cleanups/tweaks that do not affect the above.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And double checking just now, ldif looks very much maintained but pinging their maintainer (according to pypi at least) @sfermigier so we don't have to guess on the above.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sfermigier: Just to fill you in, we're not asking for anything (much less for you to give up the ldif name!), just wanted to know what your position was re: your ldif module and python-ldap's since the confusion must have affected you as well

@spaceone

spaceone commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

@mistotebe you could have a look at branch stub_interfaces in https://github.com/spaceone/python-ldap/

  • I rebased it (to test my rebase script) and resolved the conflicts. Originally I wanted to do it for the response_api but this also has conflicts due to the type-hints.

git remote add spaceone [email protected]:spaceone/python-ldap
git reset --hard spaceone/stub_interfaces

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rename and deprecate top-level modules

2 participants