Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module namespace conflicts with python-ldap #1

Closed
chipx86 opened this issue Oct 5, 2017 · 9 comments
Closed

Module namespace conflicts with python-ldap #1

chipx86 opened this issue Oct 5, 2017 · 9 comments

Comments

@chipx86
Copy link

chipx86 commented Oct 5, 2017

We hit an issue today where a user installed the ldap package instead of python-ldap. Both provide an ldap module that can be imported, and because of this, it was getting past our "Can I import ldap" checks, and then failing on calling methods from python-ldap. Installing both of these packages lead to module conflicts.

Can this be renamed to ldap_utils, perhaps?

@xeor
Copy link

xeor commented Oct 12, 2018

This can bite randomly in weird ways. Someone see a missing 'ldap' package. Then ending up installing this when they really want the python-ldap package. Can this be renamed?
Maybe python-ldap can get the ldap pypi name as well? Would be less confusing :)

@andreif
Copy link
Owner

andreif commented Oct 12, 2018

Hi, I don't have anything against it. The python-ldap maintainer acted as an asshole when he tried to convince me to release the name. Not sure why the name was free though.

@xeor
Copy link

xeor commented Oct 17, 2018

Sorry to hear that.. I don't know the backstory, but everyone can have a bad day... :)

I'm not sure how this works.. If there is a way to create a link to a package. Regarding python-ldap, it is probably to late to just rename it.

Not sure whats the best "fix". If it is more or less you and people you know that uses this package, maybe it can be renamed to ldap-utils or something, then ldap can be locked, but you can keep it for later?

Or maybe an even simpler would be try to detect if people tries to use this like python-ldap.. Then give them a warning.

It is upto you tho.. pypi is more or less first come, first serve, except some cases..

@encukou
Copy link

encukou commented Jan 28, 2019

Hello! I'm the new python-ldap maintainer.

Not sure why the name was free

python-ldap is older than PyPI. This was before my time, but I assume that in the old days before automatic package installers, the convention that “the project name should match the importable module name” wasn't nearly as widespread (or useful).

Regarding python-ldap, it is probably to late to just rename it.

Unfortunately, yes. There are lots of projects, both free and closed, depending on python-ldap. (Also, quite a few users get python-ldap via other means than PyPI.)

Maybe python-ldap can get the ldap pypi name as well? Would be less confusing :)

Yes, I assume many users would expect ldap on PyPI to be python-ldap – as shown in this issue. But it's your call – you own the name.
If you'd be willing to transfer the name, I'd be more than happy to mention your new name in python-ldap's README, thank you in release notes, and generally try to make the transition easier.

@andreif
Copy link
Owner

andreif commented Jan 31, 2019

Hi @encukou, congrats on the new role! I have no problem with transferring the name, no need to mention my name. I can add you as collaborator on pypi and then make you owner. Do you use same username there?

@encukou
Copy link

encukou commented Feb 1, 2019

Thank you!
Yes, I also use encukou on PyPI.

We can go with this plan; let me know if you want to do things differently:

  • Move ldap to ldap-utils – rename this project, update README, upload to PyPI
  • Release ldap-pypi-placeholder as ldap on PyPI. The package will be uninstallable, and gives an error which mentions python-ldap and ldap-utils.

Alternatives I considered:

  • Rename python-ldap to ldap on PyPI
  • Make ldap into a dummy package that requires python-ldap

These unfortunately won't work well because pip doesn't handle packages with conflicting files well, leaving modules non-functional after an upgrade.

@andreif
Copy link
Owner

andreif commented Feb 1, 2019

Hi @encukou, I just added you as owner of ldap. No need to make ldap-utils, you can just delete it or do whatever fits best.

encukou added a commit to python-ldap/ldap-pypi-placeholder that referenced this issue Feb 1, 2019
The original `ldap` project will not be moved,
see andreif/ldap#1
@encukou
Copy link

encukou commented Feb 1, 2019

Thank you!
pip install ldap now fails.
For security, I've removed you from the Owners on PyPI. Let me know if you disagree; I can add you back if you wish.

You can close this issue :)

@xeor
Copy link

xeor commented Feb 1, 2019

Awesome guys! Thanks for sorting this out :)

@andreif andreif closed this as completed Feb 1, 2019
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

No branches or pull requests

4 participants