From 0cc5284deb694b1e7049a15fe47c1fe8f3e1e154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Sat, 4 Mar 2023 13:21:19 +0100 Subject: [PATCH] ENH: switch mpl_toolkits to implicit namespace package (PEP 420) --- doc/users/next_whats_new/mpl_toolkit_pep420.rst | 6 ++++++ lib/mpl_toolkits/__init__.py | 4 ---- setup.py | 8 +++++--- 3 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 doc/users/next_whats_new/mpl_toolkit_pep420.rst delete mode 100644 lib/mpl_toolkits/__init__.py diff --git a/doc/users/next_whats_new/mpl_toolkit_pep420.rst b/doc/users/next_whats_new/mpl_toolkit_pep420.rst new file mode 100644 index 000000000000..3d7daf48c1d7 --- /dev/null +++ b/doc/users/next_whats_new/mpl_toolkit_pep420.rst @@ -0,0 +1,6 @@ +``matplotlib.mpl_toolkits`` is now an implicit namespace package +---------------------------------------------------------------- + +Following the deprecation of ``pkg_resources.declare_namespace`` in ``setuptools`` 67.3.0, +``matplotlib.mpl_toolkits`` is now implemented as an implicit namespace, following +`PEP 420 `_. diff --git a/lib/mpl_toolkits/__init__.py b/lib/mpl_toolkits/__init__.py deleted file mode 100644 index 02de4115d7f8..000000000000 --- a/lib/mpl_toolkits/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -try: - __import__('pkg_resources').declare_namespace(__name__) -except ImportError: - pass # must not have setuptools diff --git a/setup.py b/setup.py index 6d96e6b86c2d..6d16fe3fac6b 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ import shutil import subprocess -from setuptools import setup, find_packages, Distribution, Extension +from setuptools import setup, find_namespace_packages, Distribution, Extension import setuptools.command.build_ext import setuptools.command.build_py import setuptools.command.sdist @@ -301,8 +301,10 @@ def make_release_tree(self, base_dir, files): ], package_dir={"": "lib"}, - packages=find_packages("lib"), - namespace_packages=["mpl_toolkits"], + packages=find_namespace_packages( + where="lib", + exclude=["*baseline_images*", "*tinypages*", "*mpl-data*", "*web_backend*"], + ), py_modules=["pylab"], # Dummy extension to trigger build_ext, which will swap it out with # real extensions that can depend on numpy for the build.