1313
1414from subprocess import check_call
1515from typing import TYPE_CHECKING , Callable , Optional
16- from pkg_resources import parse_version , Requirement
1716from pypi_tools .pypi import PyPIClient
1817from packaging .specifiers import SpecifierSet
1918from packaging .version import Version
19+ from packaging .requirements import Requirement
2020
2121from ci_tools .parsing import ParsedSetup , parse_require
2222from ci_tools .functions import compare_python_version , handle_incompatible_minimum_dev_reqs , get_pip_command
@@ -186,7 +186,7 @@ def process_bounded_versions(originating_pkg_name: str, pkg_name: str, versions:
186186 # lower bound general
187187 if pkg_name in MINIMUM_VERSION_GENERIC_OVERRIDES :
188188 versions = [
189- v for v in versions if parse_version (v ) >= parse_version (MINIMUM_VERSION_GENERIC_OVERRIDES [pkg_name ])
189+ v for v in versions if Version (v ) >= Version (MINIMUM_VERSION_GENERIC_OVERRIDES [pkg_name ])
190190 ]
191191
192192 # lower bound platform-specific
@@ -195,7 +195,7 @@ def process_bounded_versions(originating_pkg_name: str, pkg_name: str, versions:
195195 restrictions = PLATFORM_SPECIFIC_MINIMUM_OVERRIDES [platform_bound ]
196196
197197 if pkg_name in restrictions :
198- versions = [v for v in versions if parse_version (v ) >= parse_version (restrictions [pkg_name ])]
198+ versions = [v for v in versions if Version (v ) >= Version (restrictions [pkg_name ])]
199199
200200 # lower bound package-specific
201201 if (
@@ -205,13 +205,13 @@ def process_bounded_versions(originating_pkg_name: str, pkg_name: str, versions:
205205 versions = [
206206 v
207207 for v in versions
208- if parse_version (v ) >= parse_version (MINIMUM_VERSION_SPECIFIC_OVERRIDES [originating_pkg_name ][pkg_name ])
208+ if Version (v ) >= Version (MINIMUM_VERSION_SPECIFIC_OVERRIDES [originating_pkg_name ][pkg_name ])
209209 ]
210210
211211 # upper bound general
212212 if pkg_name in MAXIMUM_VERSION_GENERIC_OVERRIDES :
213213 versions = [
214- v for v in versions if parse_version (v ) <= parse_version (MAXIMUM_VERSION_GENERIC_OVERRIDES [pkg_name ])
214+ v for v in versions if Version (v ) <= Version (MAXIMUM_VERSION_GENERIC_OVERRIDES [pkg_name ])
215215 ]
216216
217217 # upper bound platform
@@ -220,7 +220,7 @@ def process_bounded_versions(originating_pkg_name: str, pkg_name: str, versions:
220220 restrictions = PLATFORM_SPECIFIC_MAXIMUM_OVERRIDES [platform_bound ]
221221
222222 if pkg_name in restrictions :
223- versions = [v for v in versions if parse_version (v ) <= parse_version (restrictions [pkg_name ])]
223+ versions = [v for v in versions if Version (v ) <= Version (restrictions [pkg_name ])]
224224
225225 # upper bound package-specific
226226 if (
@@ -230,7 +230,7 @@ def process_bounded_versions(originating_pkg_name: str, pkg_name: str, versions:
230230 versions = [
231231 v
232232 for v in versions
233- if parse_version (v ) <= parse_version (MAXIMUM_VERSION_SPECIFIC_OVERRIDES [originating_pkg_name ][pkg_name ])
233+ if Version (v ) <= Version (MAXIMUM_VERSION_SPECIFIC_OVERRIDES [originating_pkg_name ][pkg_name ])
234234 ]
235235
236236 return versions
@@ -241,7 +241,7 @@ def process_requirement(req, dependency_type, orig_pkg_name):
241241
242242 # find package name and requirement specifier from requires
243243 requirement = parse_require (req )
244- pkg_name = requirement .key
244+ pkg_name = requirement .name
245245 spec = requirement .specifier if len (requirement .specifier ) else None
246246
247247 # Filter out requirements with environment markers that don't match the current environment
@@ -334,7 +334,7 @@ def filter_dev_requirements(
334334 # filter out any package available on PyPI (released_packages)
335335 # include packages without relative reference and packages not available on PyPI
336336 released_packages = [parse_require (p ) for p in released_packages ]
337- released_package_names = [p .key for p in released_packages ]
337+ released_package_names = [p .name for p in released_packages ]
338338 # find prebuilt whl paths in dev requiremente
339339 prebuilt_dev_reqs = [os .path .basename (req .replace ("\n " , "" )) for req in requirements if os .path .sep in req ]
340340 # filter any req if wheel is for a released package
0 commit comments