summaryrefslogtreecommitdiff
path: root/setuptools/_vendor/packaging/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/_vendor/packaging/utils.py')
-rw-r--r--setuptools/_vendor/packaging/utils.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/setuptools/_vendor/packaging/utils.py b/setuptools/_vendor/packaging/utils.py
index 88418786..19579c1a 100644
--- a/setuptools/_vendor/packaging/utils.py
+++ b/setuptools/_vendor/packaging/utils.py
@@ -5,28 +5,36 @@ from __future__ import absolute_import, division, print_function
import re
+from ._typing import TYPE_CHECKING, cast
from .version import InvalidVersion, Version
+if TYPE_CHECKING: # pragma: no cover
+ from typing import NewType, Union
+
+ NormalizedName = NewType("NormalizedName", str)
_canonicalize_regex = re.compile(r"[-_.]+")
def canonicalize_name(name):
+ # type: (str) -> NormalizedName
# This is taken from PEP 503.
- return _canonicalize_regex.sub("-", name).lower()
+ value = _canonicalize_regex.sub("-", name).lower()
+ return cast("NormalizedName", value)
-def canonicalize_version(version):
+def canonicalize_version(_version):
+ # type: (str) -> Union[Version, str]
"""
- This is very similar to Version.__str__, but has one subtle differences
+ This is very similar to Version.__str__, but has one subtle difference
with the way it handles the release segment.
"""
try:
- version = Version(version)
+ version = Version(_version)
except InvalidVersion:
# Legacy versions cannot be normalized
- return version
+ return _version
parts = []