summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2022-05-15 22:44:24 -0500
committerMichael Merickel <michael@merickel.org>2022-05-15 22:45:37 -0500
commite02853fed546838f1bc1d1a9b6ff68adf8e63eb1 (patch)
tree6e36cc4356cf88fa725933e894093db7732fcc70
parent0f0697dc20ab33c675d9eecb485f41ed26fa70b8 (diff)
downloadpastedeploy-git-e02853fed546838f1bc1d1a9b6ff68adf8e63eb1.tar.gz
initial setup removing importlib-metadata
-rw-r--r--docs/conf.py7
-rw-r--r--setup.cfg4
-rw-r--r--src/paste/deploy/config.py3
-rw-r--r--src/paste/deploy/util.py12
-rw-r--r--tests/__init__.py7
-rw-r--r--tests/fixture.py19
-rw-r--r--tests/test_load_package.py5
7 files changed, 24 insertions, 33 deletions
diff --git a/docs/conf.py b/docs/conf.py
index bf4faa8..da36975 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -12,7 +12,10 @@
# serve to show the default value.
import datetime
-import pkg_resources
+try:
+ import importlib.metadata as importlib_metadata
+except ImportError:
+ import importlib_metadata
import pylons_sphinx_themes
# If your extensions are in another directory, add it here.
@@ -51,7 +54,7 @@ copyright = '2011-%s, Ian Bicking and contributors' % thisyear
# other places throughout the built documents.
#
# The short X.Y version.
-version = pkg_resources.get_distribution('pastedeploy').version
+version = importlib_metadata.distribution('pastedeploy').version
# The full version, including alpha/beta/rc tags.
release = version
diff --git a/setup.cfg b/setup.cfg
index 4d81c86..2b896a7 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
[metadata]
name = PasteDeploy
-version = 2.1.1
+version = 3.0.dev0
author = Ian Bicking
author_email = pylons-discuss@googlegroups.com
maintainer = Chris Dent
@@ -44,7 +44,7 @@ package_dir =
packages = find:
zip_safe = False
install_requires =
- setuptools
+ importlib-metadata; python_version<"3.8"
include_package_data = True
namespace_packages =
paste
diff --git a/src/paste/deploy/config.py b/src/paste/deploy/config.py
index b174fa0..c9714fe 100644
--- a/src/paste/deploy/config.py
+++ b/src/paste/deploy/config.py
@@ -155,9 +155,6 @@ class ConfigMiddleware:
def __call__(self, environ, start_response):
global wsgilib
if wsgilib is None:
- import pkg_resources
-
- pkg_resources.require('Paste')
from paste import wsgilib
popped_config = None
if 'paste.config' in environ:
diff --git a/src/paste/deploy/util.py b/src/paste/deploy/util.py
index 6bd6132..1e9c08f 100644
--- a/src/paste/deploy/util.py
+++ b/src/paste/deploy/util.py
@@ -3,6 +3,18 @@
import inspect
import sys
+try:
+ import importlib.metadata as importlib_metadata
+except ImportError:
+ # bw-compat shim for py37
+ import importlib_metadata
+
+
+def find_entry_point(dist, group, name):
+ for entry in dist.entry_points:
+ if entry.name == name and entry.group == group:
+ return entry
+
def fix_type_error(exc_info, callable, varargs, kwargs):
"""
diff --git a/tests/__init__.py b/tests/__init__.py
index 555181c..8ba6060 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -17,12 +17,11 @@ if not os.path.exists(egg_info_dir):
sys.path.append(os.path.dirname(egg_info_dir))
-import pkg_resources # noqa E402
+from paste.deploy.util import importlib_metadata # noqa E402
# Make absolutely sure we're testing *this* package, not
# some other installed package
-pkg_resources.require('PasteDeploy')
+importlib_metadata.distribution('PasteDeploy')
# ensure FakeApp is available for use by tests
-pkg_resources.working_set.add_entry(os.path.dirname(egg_info_dir))
-pkg_resources.require('FakeApp')
+importlib_metadata.distribution('FakeApp')
diff --git a/tests/fixture.py b/tests/fixture.py
deleted file mode 100644
index 6d92260..0000000
--- a/tests/fixture.py
+++ /dev/null
@@ -1,19 +0,0 @@
-import os
-import shutil
-import sys
-
-test_dir = os.path.dirname(__file__)
-egg_info_dir = os.path.join(test_dir, 'fake_packages', 'FakeApp.egg', 'EGG-INFO')
-info_dir = os.path.join(test_dir, 'fake_packages', 'FakeApp.egg', 'FakeApp.egg-info')
-if not os.path.exists(egg_info_dir):
- try:
- os.symlink(info_dir, egg_info_dir)
- except Exception:
- shutil.copytree(info_dir, egg_info_dir)
-
-sys.path.append(os.path.dirname(egg_info_dir))
-
-import pkg_resources # noqa E402
-
-pkg_resources.working_set.add_entry(os.path.dirname(egg_info_dir))
-pkg_resources.require('FakeApp')
diff --git a/tests/test_load_package.py b/tests/test_load_package.py
index bdd6e3f..bf919cc 100644
--- a/tests/test_load_package.py
+++ b/tests/test_load_package.py
@@ -1,10 +1,9 @@
from pprint import pprint
import sys
-import pkg_resources
-
def test_load_package():
+ from paste.deploy.util import importlib_metadata
print('Path:')
pprint(sys.path)
- print(pkg_resources.require('FakeApp'))
+ importlib_metadata.distribution('FakeApp')