PEP 755: Implicit namespace policy for PyPI

What if we went one step further and based prefixes on reversed domain names? So com.google.* could belong to Google, org.jupyter.* to Jupyter, and so on.

Obviously this would be more of a shift in our conventions than registering google-* or jupyter-*, but on the plus side:

  • It’s a pattern already familiar in many other ecosystems (Java packages, apps on Android, Mac & many modern Linux apps), so we’re not starting from scratch.
  • Domain names are exclusive, whereas trademarks can overlap.
  • This could allow for automated or semi-automated registration of a prefix, based on setting up a particular DNS entry or static file on the domain you own, potentially reducing the load on PyPI admins, who everyone agrees are overloaded.
  • These are already valid package names, so it shouldn’t need major changes in tooling.
  • But they’re not commonly used, so the issue of pre-existing packages conflicting with a restricted namespace is smaller (albeit not totally gone).
3 Likes