PEP 752: Package repository namespaces

Since last time, I have made the following changes:

  1. Extracted all policy, operational and UI recommendations into a separate PEP and renamed to Implicit namespaces for package repositories.
    1. Removed the concept of grants types; root grants are now just grants. Repositories may add the concept of child grants but that is not discussed.
  2. Switched the shared/private terminology to open/restricted; this is final.
  3. Officially specified the concept of organizations as entities that own projects and have various users associated with them.
  4. Made it explicit that this proposal is for repositories that allow creation of projects e.g. non-mirrors.
  5. Replaced the namespace.owners key in the API with namespace.authorized to eliminate client-side logic.
  6. Made it explicit that packages starting with a prefix that is owned on one repository does not convey additional trust when coming from others.
  7. Made it clear that namespaces that were previously claimed but are now not should be eligible once again for claiming by any organization but the decision is left to the repository.
  8. Removed shell syntax argument from the organization scoping rejected idea.
  9. Made it clear that implicit namespaces as defined by this PEP would be a prerequisite for explicit namespaces (new package syntax) because the latter would still have to play nicely with the current flat namespace.
  10. Incremented the JSON API version from 1.0 to 1.1.
  11. Added a new namespace endpoint.
  12. No longer expose the owner of projects in the API because organization names are separate from users (at least on PyPI). Therefore, it would cause confusion due to the owner field of projects being different than the one for namespaces.
  13. Allowed repositories to have hidden namespaces to enforce upload restrictions.
  14. An email is now sent to the owners of projects to match new grants that are not owned by the organization receiving the grant.

New threads:

Let’s discuss in the new threads, thanks everybody!

5 Likes