-
Notifications
You must be signed in to change notification settings - Fork 996
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
Manage projects with namespaces #2589
Comments
@4383 Thank you for this feature proposal! I'm the project manager for the current push to deploy Warehouse and, since this is a new feature idea, I've marked it for a future milestone, since it isn't a task we absolutely need to do in order to get Warehouse deployed. Thanks again! |
@brainwane how I can help you for introduce this feature? |
This will need discussion, likely on distutils-sig. Since a package name like |
Hi @brainwane @di! I can describe the attended behavior in PEP for more examples and to standardize this feature. Thanks for replies! |
To be clear: a discussion on distutils-sig should probably be the first step. |
@di ok |
Discussion on distutils-sig was now opened And message was sent on the disutils-sig mailing list |
I think that might be the wrong list. Please post to https://mail.python.org/mailman/listinfo/distutils-sig . Thank you and sorry for the mixup. |
I had already sent an email to this mailing list: [email protected] |
Thanks! I see it at https://mail.python.org/mm3/archives/list/[email protected]/thread/NFLCHKYGPEBAR5I5FMMXMC2JKMLYJQ7G/ in the archives of the distutils-sig mailing list. :) If you will be at PyCon North America or EuroPython in Edinburgh this year, please consider talking with us in person there at our sprints. |
cc @pganssle |
Hello everybody! |
Relevant discussion thread here: https://discuss.python.org/t/namespace-support-in-pypi/1609 |
@di oh thanks! Nice to see similar discussions, I'll take a look |
There's been substantial discussion of this suggestion on the Discourse forum and I suggest interested people take a look. |
As @di and @DataNerdery mentioned, a PyPI user named "RemindSupplyChainRisks" uploaded 3591 packages to PyPI that point to a malicious URL. A lot of the names are things like "cupy-cuda112" or other common typos. See pypi/support#923 This feature would allow a user to reserve all similar names ("typo names") of a package, preventing this situation. I think this feature should be considered a security feature, and thus prioritized. |
I was initially going to post the following comment on #201, which overlaps somewhat, and this was discussed to some extent on the above-linked Discourse thread, as well as in another Discourse thread, though it doesn’t not seem to be covered by PEP 541. While doing so might require a specific implementation in Python itself, perhaps one of the following could work:
I say that this might require a specific implementation in Python itself because I don’t know how Python FWIW, supporting (optional) domain-style prefixes on PyPI and in The main benefit to using “reverse domain name” prefixes is that it eliminates the conflict between multiple username-authentication platforms (e.g. GitHub vs Gitlab, etc.) in favor of delegating name ownership to the existing ICANN registrar/DNS ecosystem. In other words, it kicks responsibility down the road to someone else. Another potential benefit to using “reverse domain name” style prefixes is that it could mitigate the potential issue of team names conflicting with package names, though I’m sure there are other factors to consider. (Yes, I know it’s possible to set up third-party or private repositories for use with On the flip side, authenticating GitHub and/or Gitlab usernames benefits from the fact that both platforms already have authentication APIs, so automatic namespace authentication (should that be desirable), wouldn’t require someone to, say, implement a Finally, as a change to $ sudo flatpak install gnome
[sudo] password for elsiehupp:
Looking for matches…
Found similar ref(s) for ‘gnome’ in remote ‘flathub’ (system).
Use this remote? [Y/n]: y
Similar refs found for ‘gnome’ in remote ‘flathub’ (system):
1) runtime/org.gnome.Sdk.Docs/x86_64/3.32
2) runtime/org.gnome.Sdk.Docs/x86_64/3.34
3) runtime/org.gnome.Sdk.Docs/x86_64/3.36
[…]
174) runtime/org.gnome.Sdk.Docs/x86_64/3.28
175) runtime/org.gnome.Platform.Compat.i386/x86_64/40
176) runtime/org.gnome.Sdk.Docs/x86_64/3.30
Which do you want to use (0 to abort)? [0-176]: This command flow has the added benefit of also being a search interface, so the user would have less of a need to visit the repository website to resolve the difference between similar-sounding package names. (Implementing more of a search interface into |
Weighing in on this, we at Pulumi were unable to publish a package today because Namespaces would assist us in growing our ecosystem without having to worry about squatting. (This, to be clear, is not an instance of squatting, but an unfortunate collision.) |
Hey!
Overview
This is a feature proposal. Now when a project is already register on pypi it's not possible to users to test a fork of any projects with the same name when it's already exist, manage projects by namespace increase possiblities for the python community.
With this feature we can introduce trusted packages by allow install/search without namespace and add namespaces on untrusted packages like docker behavior (
docker pull nginx
ordocker pull 4383/nginx
).On docker when the package is trusted (docker trusted image mean maintained by docker itself), namespace does not exist, and when a package is maintain by a third user namespace appear into the name.
I don't want delegate official projects maintainance to the pypa team but we can introduce a vote system for the community and remove namespace when project obtain a certain number of votes from the community (users).
I'm sure to be in the right place for propose this feature, twine, pip etc... must be upgraded also for work with it.
Features
Benefits
Examples
With pip:
Url transposition:
The text was updated successfully, but these errors were encountered: