diff --git a/lib/galaxy/dependencies/__init__.py b/lib/galaxy/dependencies/__init__.py index eb484b9dcbd..1530b48fb3c 100644 --- a/lib/galaxy/dependencies/__init__.py +++ b/lib/galaxy/dependencies/__init__.py @@ -10,8 +10,8 @@ from os.path import ( join, ) -import pkg_resources import yaml +from dparse import parse from galaxy.util import ( asbool, @@ -173,8 +173,10 @@ class ConditionalDependencies: def get_conditional_requirements(self): crfile = join(dirname(__file__), "conditional-requirements.txt") - for req in pkg_resources.parse_requirements(open(crfile).readlines()): - self.conditional_reqs.append(req) + with open(crfile) as fh: + dependency_file = parse(fh.read(), file_type="requirements.txt") + for dep in dependency_file.dependencies: + self.conditional_reqs.append(dep) def check(self, name): try: @@ -307,7 +309,7 @@ def optional(config_file=None): return [] rval = [] conditional = ConditionalDependencies(config_file) - for opt in conditional.conditional_reqs: - if conditional.check(opt.key): - rval.append(str(opt)) + for dependency in conditional.conditional_reqs: + if conditional.check(dependency.name): + rval.append(dependency.line) return rval diff --git a/lib/galaxy/dependencies/pinned-requirements.txt b/lib/galaxy/dependencies/pinned-requirements.txt index 2985546ff68..f754ad8be39 100644 --- a/lib/galaxy/dependencies/pinned-requirements.txt +++ b/lib/galaxy/dependencies/pinned-requirements.txt @@ -61,6 +61,7 @@ dictobj==0.4 ; python_version >= "3.7" and python_version < "3.12" dnspython==2.3.0 ; python_version >= "3.7" and python_version < "3.12" docopt==0.6.2 ; python_version >= "3.7" and python_version < "3.12" docutils==0.18.1 ; python_version >= "3.7" and python_version < "3.12" +dparse==0.6.3 ; python_version >= "3.7" and python_version < "3.12" ecdsa==0.18.0 ; python_version >= "3.7" and python_version < "3.12" edam-ontology==1.25.2 ; python_version >= "3.7" and python_version < "3.12" email-validator==2.0.0.post2 ; python_version >= "3.7" and python_version < "3.12" diff --git a/pyproject.toml b/pyproject.toml index 0d96d9c7502..44f2cd221b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,6 +49,7 @@ conda-package-streaming = "*" dictobj = "*" dnspython = "*" docutils = "!=0.17, !=0.17.1" +dparse = "*" edam-ontology = "*" fastapi = ">=0.71.0, !=0.89.0, <0.99" # https://github.com/tiangolo/fastapi/issues/4041 https://github.com/tiangolo/fastapi/issues/5861 fastapi-utils = "*"