-
Notifications
You must be signed in to change notification settings - Fork 6
Open
2 / 32 of 3 issues completedLabels
enhancementNew feature or requestNew feature or request
Description
Currently we use pkg_resources-style namespace packages. Using pkg_resources
is deprecated (see https://setuptools.pypa.io/en/latest/pkg_resources.html), it seems not yet clear when it is removed from setuptools.
The current future are PEP 420: Implicit namespace packages.
This requires:
- all the packages sharing a namespace to switch over to PEP 420.
- removing the
__init__.py
files existing to create a namespace - removing
namespace_packages
declaration fromsetup.py
- maybe removal of the dependency on
setuptools
? (Maybe we could even switch topyproject.toml
.)
zopefoundation
hosts the following namespaces:
- zope, zope.app (zope, zope.app – 117 repos #331) - 117 repos
- zc, zc.recipe – 22 repos +
zc.buildout
+zc.recipe.egg
insidezc.buildout
- Products – 22 repos
- keas (probably only some packages of that namespace) – all repos archived
- refline (probably only some packages of that namespace) - all repos archived
- grokui – all repos archived
- hurry – 1 repos (Switch to PEP 420 native namespace. hurry.query#18)
- cipher – all repos archived
- five – 4 repos – migrated
- megrok: 1 repos (Switch to implicit (PEP 420) namespace. megrok.strictrequire#8)
See the discussion in pypa/setuptools#3434 for some more details.
Suggestion:
- ✅ Try out on a small namespace where probably all packages are hosted by
zopefoundation
(grokcore?, z3c?, zope.app?) - If this works fine (especially in
zc.buildout
), adapt the other namespaces.- This will require coordination with the Plone folks.
- This would also require a big warning sign that other packages hosted outside
zopefoundation
but using the same namespaces also have to switch to PEP 420.
Cc-ing: @dataflake @mauritsvanrees @gforcada @mgedmin @jensens
See also https://packaging.python.org/en/latest/guides/packaging-namespace-packages/
gforcada, perrinjerome, carlsmedstad, glyph and jack-mcivor
Sub-issues
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
In Progress