enthought / envisage

Envisage is a Python-based framework for building applications whose functionalities can be extended by adding "plug-ins".
http://docs.enthought.com/envisage/
Other
80 stars 26 forks source link

Replace namespace packages with non-namespace packages #543

Closed mdickinson closed 1 year ago

mdickinson commented 1 year ago

Our current tests for the EggPluginManager and EggBasketPluginManager build eggs for testing purposes. The packages that those eggs are built from are all old-style pkg_resources-based namespace packages. That's causing warnings, because the newest version of setuptools doesn't want to support old-style namespace packages any more.

This PR converts the namespace packages to normal, non-namespace packages and removes the machinery that setuptools is warning about (specifically, the uses of declare_namespace).

I did first try to convert the old-style namespace packages to new-style PEP 420-based namespace packages, but the EggBasketPluginManager is not currently compatible with new-style namespace packages, and it's hard to see how it could be made compatible, given that it's based on putting eggs on sys.path. Since we're planning to get rid of the EggBasketPluginManager anyway, it doesn't seem worth putting in a heroic effort to make things work.

Detailed changes

Fixes #523