summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Merickel <github@m.merickel.org>2024-02-04 23:55:45 -0700
committerGitHub <noreply@github.com>2024-02-04 23:55:45 -0700
commit151ebdc003a3a372017fdf73c14fbebcc550535d (patch)
treeff2b210b87aff4715450acc38d695a6c6a8abf61 /src
parenta6fe1a1e38d6a3fb955fa950b671fc736ac9f4d0 (diff)
parent13dbb8507e9f1acaaad8caf74a1441e1f723a346 (diff)
downloadpyramid-151ebdc003a3a372017fdf73c14fbebcc550535d.tar.gz
pyramid-151ebdc003a3a372017fdf73c14fbebcc550535d.tar.bz2
pyramid-151ebdc003a3a372017fdf73c14fbebcc550535d.zip
Merge pull request #3749 from Pylons/remove-pkg-resources-from-scripts
Remove pkg resources from scripts
Diffstat (limited to 'src')
-rw-r--r--src/pyramid/scripts/pdistreport.py14
-rw-r--r--src/pyramid/scripts/pshell.py14
2 files changed, 17 insertions, 11 deletions
diff --git a/src/pyramid/scripts/pdistreport.py b/src/pyramid/scripts/pdistreport.py
index 99615c1d5..eb41c17e7 100644
--- a/src/pyramid/scripts/pdistreport.py
+++ b/src/pyramid/scripts/pdistreport.py
@@ -1,6 +1,6 @@
import argparse
+import importlib.metadata
from operator import itemgetter
-import pkg_resources
import platform
import sys
@@ -21,7 +21,7 @@ def get_parser():
def main(
argv=sys.argv,
- pkg_resources=pkg_resources,
+ importlib_metadata=importlib.metadata,
platform=platform.platform,
out=out,
):
@@ -29,25 +29,25 @@ def main(
parser = get_parser()
parser.parse_args(argv[1:])
packages = []
- for distribution in pkg_resources.working_set:
- name = distribution.project_name
+ for distribution in importlib_metadata.distributions():
+ name = distribution.metadata['Name']
packages.append(
{
'version': distribution.version,
'lowername': name.lower(),
'name': name,
- 'location': distribution.location,
+ 'summary': distribution.metadata.get('Summary'),
}
)
packages = sorted(packages, key=itemgetter('lowername'))
- pyramid_version = pkg_resources.get_distribution('pyramid').version
+ pyramid_version = importlib_metadata.distribution('pyramid').version
plat = platform()
out('Pyramid version:', pyramid_version)
out('Platform:', plat)
out('Packages:')
for package in packages:
out(' ', package['name'], package['version'])
- out(' ', package['location'])
+ out(' ', package['summary'])
if __name__ == '__main__': # pragma: no cover
diff --git a/src/pyramid/scripts/pshell.py b/src/pyramid/scripts/pshell.py
index 63600abaf..4d3817ffb 100644
--- a/src/pyramid/scripts/pshell.py
+++ b/src/pyramid/scripts/pshell.py
@@ -1,8 +1,8 @@
import argparse
from code import interact
from contextlib import contextmanager
+import importlib.metadata
import os
-import pkg_resources
import sys
import textwrap
@@ -41,7 +41,7 @@ class PShellCommand:
script_name = 'pshell'
bootstrap = staticmethod(bootstrap) # for testing
get_config_loader = staticmethod(get_config_loader) # for testing
- pkg_resources = pkg_resources # for testing
+ importlib_metadata = importlib.metadata # for testing
parser = argparse.ArgumentParser(
description=textwrap.dedent(description),
@@ -228,10 +228,16 @@ class PShellCommand:
return 0
def find_all_shells(self):
- pkg_resources = self.pkg_resources
+ importlib_metadata = self.importlib_metadata
shells = {}
- for ep in pkg_resources.iter_entry_points('pyramid.pshell_runner'):
+ eps = importlib_metadata.entry_points()
+ if hasattr(eps, 'select'):
+ eps = eps.select(group='pyramid.pshell_runner')
+ else: # pragma: no cover
+ # fallback for py38 and py39
+ eps = eps.get('pyramid.pshell_runner')
+ for ep in eps:
name = ep.name
shell_factory = ep.load()
shells[name] = shell_factory