From dd104ac09571529762ad878805f61385548c9125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Fri, 19 Jul 2024 13:35:43 +0200 Subject: [PATCH] DEP: refactored out runtime dependency on setuptools --- CHANGES.rst | 1 + pytest_doctestplus/utils.py | 12 +++++++++--- setup.cfg | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 1c08c17..5c64b01 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,7 @@ ================== - Fixing output update for multiline code. [#253] +- Dropped ``setuptools`` as a runtime dependency. [#258] 1.2.1 (2024-03-09) ================== diff --git a/pytest_doctestplus/utils.py b/pytest_doctestplus/utils.py index baa08cc..8a6df5c 100644 --- a/pytest_doctestplus/utils.py +++ b/pytest_doctestplus/utils.py @@ -1,7 +1,7 @@ import importlib.util -import pkg_resources - +from importlib.metadata import distribution +from packaging.requirements import Requirement class ModuleChecker: @@ -15,9 +15,15 @@ def find_module(self, module): def find_distribution(self, dist): """Search for distribution with specified version (eg 'numpy>=1.15').""" try: - return pkg_resources.require(dist) + reqs = Requirement(dist) + dist_meta = distribution(reqs.name) except Exception: return None + else: + if reqs.specifier.contains(dist_meta.version, prereleases=True): + return dist_meta + else: + return None def check(self, module): """ diff --git a/setup.cfg b/setup.cfg index caefa77..df14586 100644 --- a/setup.cfg +++ b/setup.cfg @@ -33,13 +33,13 @@ setup_requires = setuptools_scm install_requires = pytest>=4.6 - setuptools>=30.3.0 packaging>=17.0 [options.extras_require] test = numpy pytest-remotedata>=0.3.2 + setuptools>=30.3.0 sphinx [options.entry_points]