70
70
drop_comment ,
71
71
join_continuation ,
72
72
)
73
-
74
- from pkg_resources .extern import platformdirs
75
- from pkg_resources .extern import packaging
76
-
77
- __import__ ('pkg_resources.extern.packaging.version' )
78
- __import__ ('pkg_resources.extern.packaging.specifiers' )
79
- __import__ ('pkg_resources.extern.packaging.requirements' )
80
- __import__ ('pkg_resources.extern.packaging.markers' )
81
- __import__ ('pkg_resources.extern.packaging.utils' )
73
+ from pkg_resources .extern .packaging import markers as _packaging_markers
74
+ from pkg_resources .extern .packaging import requirements as _packaging_requirements
75
+ from pkg_resources .extern .packaging import utils as _packaging_utils
76
+ from pkg_resources .extern .packaging import version as _packaging_version
77
+ from pkg_resources .extern .platformdirs import user_cache_dir
82
78
83
79
# declare some globals that will be defined later to
84
80
# satisfy the linters.
@@ -116,7 +112,7 @@ class PEP440Warning(RuntimeWarning):
116
112
"""
117
113
118
114
119
- parse_version = packaging . version .Version
115
+ parse_version = _packaging_version .Version
120
116
121
117
122
118
_state_vars : Dict [str , str ] = {}
@@ -730,7 +726,7 @@ def add(self, dist, entry=None, insert=True, replace=False):
730
726
return
731
727
732
728
self .by_key [dist .key ] = dist
733
- normalized_name = packaging . utils .canonicalize_name (dist .key )
729
+ normalized_name = _packaging_utils .canonicalize_name (dist .key )
734
730
self .normalized_to_canonical_keys [normalized_name ] = dist .key
735
731
if dist .key not in keys :
736
732
keys .append (dist .key )
@@ -1344,9 +1340,7 @@ def get_default_cache():
1344
1340
or a platform-relevant user cache dir for an app
1345
1341
named "Python-Eggs".
1346
1342
"""
1347
- return os .environ .get ('PYTHON_EGG_CACHE' ) or platformdirs .user_cache_dir (
1348
- appname = 'Python-Eggs'
1349
- )
1343
+ return os .environ .get ('PYTHON_EGG_CACHE' ) or user_cache_dir (appname = 'Python-Eggs' )
1350
1344
1351
1345
1352
1346
def safe_name (name ):
@@ -1363,8 +1357,8 @@ def safe_version(version):
1363
1357
"""
1364
1358
try :
1365
1359
# normalize the version
1366
- return str (packaging . version .Version (version ))
1367
- except packaging . version .InvalidVersion :
1360
+ return str (_packaging_version .Version (version ))
1361
+ except _packaging_version .InvalidVersion :
1368
1362
version = version .replace (' ' , '.' )
1369
1363
return re .sub ('[^A-Za-z0-9.]+' , '-' , version )
1370
1364
@@ -1441,9 +1435,9 @@ def evaluate_marker(text, extra=None):
1441
1435
This implementation uses the 'pyparsing' module.
1442
1436
"""
1443
1437
try :
1444
- marker = packaging . markers .Marker (text )
1438
+ marker = _packaging_markers .Marker (text )
1445
1439
return marker .evaluate ()
1446
- except packaging . markers .InvalidMarker as e :
1440
+ except _packaging_markers .InvalidMarker as e :
1447
1441
raise SyntaxError (e ) from e
1448
1442
1449
1443
@@ -2695,20 +2689,20 @@ def parsed_version(self):
2695
2689
if not hasattr (self , "_parsed_version" ):
2696
2690
try :
2697
2691
self ._parsed_version = parse_version (self .version )
2698
- except packaging . version .InvalidVersion as ex :
2692
+ except _packaging_version .InvalidVersion as ex :
2699
2693
info = f"(package: { self .project_name } )"
2700
2694
if hasattr (ex , "add_note" ):
2701
2695
ex .add_note (info ) # PEP 678
2702
2696
raise
2703
- raise packaging . version .InvalidVersion (f"{ str (ex )} { info } " ) from None
2697
+ raise _packaging_version .InvalidVersion (f"{ str (ex )} { info } " ) from None
2704
2698
2705
2699
return self ._parsed_version
2706
2700
2707
2701
@property
2708
2702
def _forgiving_parsed_version (self ):
2709
2703
try :
2710
2704
return self .parsed_version
2711
- except packaging . version .InvalidVersion as ex :
2705
+ except _packaging_version .InvalidVersion as ex :
2712
2706
self ._parsed_version = parse_version (_forgiving_version (self .version ))
2713
2707
2714
2708
notes = "\n " .join (getattr (ex , "__notes__" , [])) # PEP 678
@@ -2881,7 +2875,7 @@ def from_filename(cls, filename, metadata=None, **kw):
2881
2875
2882
2876
def as_requirement (self ):
2883
2877
"""Return a ``Requirement`` that matches this distribution exactly"""
2884
- if isinstance (self .parsed_version , packaging . version .Version ):
2878
+ if isinstance (self .parsed_version , _packaging_version .Version ):
2885
2879
spec = "%s==%s" % (self .project_name , self .parsed_version )
2886
2880
else :
2887
2881
spec = "%s===%s" % (self .project_name , self .parsed_version )
@@ -3127,11 +3121,11 @@ def parse_requirements(strs):
3127
3121
return map (Requirement , join_continuation (map (drop_comment , yield_lines (strs ))))
3128
3122
3129
3123
3130
- class RequirementParseError (packaging . requirements .InvalidRequirement ):
3124
+ class RequirementParseError (_packaging_requirements .InvalidRequirement ):
3131
3125
"Compatibility wrapper for InvalidRequirement"
3132
3126
3133
3127
3134
- class Requirement (packaging . requirements .Requirement ):
3128
+ class Requirement (_packaging_requirements .Requirement ):
3135
3129
def __init__ (self , requirement_string ):
3136
3130
"""DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!"""
3137
3131
super ().__init__ (requirement_string )
@@ -3353,6 +3347,6 @@ def _read_utf8_with_fallback(file: str, fallback_encoding=LOCALE_ENCODING) -> st
3353
3347
"""
3354
3348
# TODO: Add a deadline?
3355
3349
# See comment in setuptools.unicode_utils._Utf8EncodingNeeded
3356
- warnings .warns (msg , PkgResourcesDeprecationWarning , stacklevel = 2 )
3350
+ warnings .warn (msg , PkgResourcesDeprecationWarning , stacklevel = 2 )
3357
3351
with open (file , "r" , encoding = fallback_encoding ) as f :
3358
3352
return f .read ()
0 commit comments