Skip to content

Commit 4394c74

Browse files
committed
ENH: ditch pkg_resources for pkg_supports function
1 parent 77ec1b3 commit 4394c74

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

odl/util/utility.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1505,7 +1505,7 @@ def pkg_supports(feature, pkg_version, pkg_feat_dict):
15051505
>>> pkg_supports('feat5', '1.0', feat_dict)
15061506
False
15071507
"""
1508-
from pkg_resources import parse_requirements
1508+
from packaging.requirements import Requirement
15091509

15101510
feature = str(feature)
15111511
pkg_version = str(pkg_version)
@@ -1521,16 +1521,11 @@ def pkg_supports(feature, pkg_version, pkg_feat_dict):
15211521
ver_specs = ['pkg' + supp_ver for supp_ver in supp_versions]
15221522
# Each parse_requirements list contains only one entry since we specify
15231523
# only one package
1524-
ver_reqs = [list(parse_requirements(ver_spec))[0]
1525-
for ver_spec in ver_specs]
1524+
ver_reqs = [Requirement(ver_spec) for ver_spec in ver_specs]
15261525

1527-
# If one of the requirements in the list is met, return True
1528-
for req in ver_reqs:
1529-
if req.specifier.contains(pkg_version, prereleases=True):
1530-
return True
1531-
1532-
# No match
1533-
return False
1526+
# If one of the requirements in the list is met, return True, else False
1527+
return any(req.specifier.contains(pkg_version, prereleases=True)
1528+
for req in ver_reqs)
15341529

15351530

15361531
class NumpyRandomSeed(object):

0 commit comments

Comments
 (0)