X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/setuptools
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
setuptools
/
??
..
??
__init__.py
(10.16 KB)
??
__pycache__
??
_core_metadata.py
(11.7 KB)
??
_distutils
??
_entry_points.py
(2.26 KB)
??
_imp.py
(2.38 KB)
??
_importlib.py
(223 B)
??
_itertools.py
(657 B)
??
_normalization.py
(5.69 KB)
??
_path.py
(2.62 KB)
??
_reqs.py
(1.4 KB)
??
_shutil.py
(1.46 KB)
??
_static.py
(4.74 KB)
??
_vendor
??
archive_util.py
(7.18 KB)
??
build_meta.py
(19.97 KB)
??
cli-32.exe
(11.5 KB)
??
cli-64.exe
(14 KB)
??
cli-arm64.exe
(13.5 KB)
??
cli.exe
(11.5 KB)
??
command
??
compat
??
config
??
depends.py
(5.83 KB)
??
discovery.py
(20.76 KB)
??
dist.py
(43.84 KB)
??
errors.py
(2.95 KB)
??
extension.py
(6.53 KB)
??
glob.py
(5.92 KB)
??
gui-32.exe
(11.5 KB)
??
gui-64.exe
(14 KB)
??
gui-arm64.exe
(13.5 KB)
??
gui.exe
(11.5 KB)
??
installer.py
(4.99 KB)
??
launch.py
(820 B)
??
logging.py
(1.23 KB)
??
modified.py
(568 B)
??
monkey.py
(3.63 KB)
??
msvc.py
(40.66 KB)
??
namespaces.py
(3.1 KB)
??
package_index.py
(38.18 KB)
??
sandbox.py
(14.56 KB)
??
script (dev).tmpl
(218 B)
??
script.tmpl
(138 B)
??
tests
??
unicode_utils.py
(3.11 KB)
??
version.py
(161 B)
??
warnings.py
(3.71 KB)
??
wheel.py
(8.42 KB)
??
windows_support.py
(726 B)
Editing: _normalization.py
""" Helpers for normalization as expected in wheel/sdist/module file names and core metadata """ import re from typing import TYPE_CHECKING import packaging # https://packaging.python.org/en/latest/specifications/core-metadata/#name _VALID_NAME = re.compile(r"^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$", re.I) _UNSAFE_NAME_CHARS = re.compile(r"[^A-Z0-9._-]+", re.I) _NON_ALPHANUMERIC = re.compile(r"[^A-Z0-9]+", re.I) _PEP440_FALLBACK = re.compile(r"^v?(?P<safe>(?:[0-9]+!)?[0-9]+(?:\.[0-9]+)*)", re.I) def safe_identifier(name: str) -> str: """Make a string safe to be used as Python identifier. >>> safe_identifier("12abc") '_12abc' >>> safe_identifier("__editable__.myns.pkg-78.9.3_local") '__editable___myns_pkg_78_9_3_local' """ safe = re.sub(r'\W|^(?=\d)', '_', name) assert safe.isidentifier() return safe def safe_name(component: str) -> str: """Escape a component used as a project name according to Core Metadata. >>> safe_name("hello world") 'hello-world' >>> safe_name("hello?world") 'hello-world' >>> safe_name("hello_world") 'hello_world' """ # See pkg_resources.safe_name return _UNSAFE_NAME_CHARS.sub("-", component) def safe_version(version: str) -> str: """Convert an arbitrary string into a valid version string. Can still raise an ``InvalidVersion`` exception. To avoid exceptions use ``best_effort_version``. >>> safe_version("1988 12 25") '1988.12.25' >>> safe_version("v0.2.1") '0.2.1' >>> safe_version("v0.2?beta") '0.2b0' >>> safe_version("v0.2 beta") '0.2b0' >>> safe_version("ubuntu lts") Traceback (most recent call last): ... packaging.version.InvalidVersion: Invalid version: 'ubuntu.lts' """ v = version.replace(' ', '.') try: return str(packaging.version.Version(v)) except packaging.version.InvalidVersion: attempt = _UNSAFE_NAME_CHARS.sub("-", v) return str(packaging.version.Version(attempt)) def best_effort_version(version: str) -> str: """Convert an arbitrary string into a version-like string. Fallback when ``safe_version`` is not safe enough. >>> best_effort_version("v0.2 beta") '0.2b0' >>> best_effort_version("ubuntu lts") '0.dev0+sanitized.ubuntu.lts' >>> best_effort_version("0.23ubuntu1") '0.23.dev0+sanitized.ubuntu1' >>> best_effort_version("0.23-") '0.23.dev0+sanitized' >>> best_effort_version("0.-_") '0.dev0+sanitized' >>> best_effort_version("42.+?1") '42.dev0+sanitized.1' """ # See pkg_resources._forgiving_version try: return safe_version(version) except packaging.version.InvalidVersion: v = version.replace(' ', '.') match = _PEP440_FALLBACK.search(v) if match: safe = match["safe"] rest = v[len(safe) :] else: safe = "0" rest = version safe_rest = _NON_ALPHANUMERIC.sub(".", rest).strip(".") local = f"sanitized.{safe_rest}".strip(".") return safe_version(f"{safe}.dev0+{local}") def safe_extra(extra: str) -> str: """Normalize extra name according to PEP 685 >>> safe_extra("_FrIeNdLy-._.-bArD") 'friendly-bard' >>> safe_extra("FrIeNdLy-._.-bArD__._-") 'friendly-bard' """ return _NON_ALPHANUMERIC.sub("-", extra).strip("-").lower() def filename_component(value: str) -> str: """Normalize each component of a filename (e.g. distribution/version part of wheel) Note: ``value`` needs to be already normalized. >>> filename_component("my-pkg") 'my_pkg' """ return value.replace("-", "_").strip("_") def filename_component_broken(value: str) -> str: """ Produce the incorrect filename component for compatibility. See pypa/setuptools#4167 for detailed analysis. TODO: replace this with filename_component after pip 24 is nearly-ubiquitous. >>> filename_component_broken('foo_bar-baz') 'foo-bar-baz' """ return value.replace('_', '-') def safer_name(value: str) -> str: """Like ``safe_name`` but can be used as filename component for wheel""" # See bdist_wheel.safer_name return ( # Per https://packaging.python.org/en/latest/specifications/name-normalization/#name-normalization re.sub(r"[-_.]+", "-", safe_name(value)) .lower() # Per https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode .replace("-", "_") ) def safer_best_effort_version(value: str) -> str: """Like ``best_effort_version`` but can be used as filename component for wheel""" # See bdist_wheel.safer_verion # TODO: Replace with only safe_version in the future (no need for best effort) return filename_component(best_effort_version(value)) def _missing_canonicalize_license_expression(expression: str) -> str: """ Defer import error to affect only users that actually use it https://github.com/pypa/setuptools/issues/4894 >>> _missing_canonicalize_license_expression("a OR b") Traceback (most recent call last): ... ImportError: ...Cannot import `packaging.licenses`... """ raise ImportError( "Cannot import `packaging.licenses`." """ Setuptools>=77.0.0 requires "packaging>=24.2" to work properly. Please make sure you have a suitable version installed. """ ) try: from packaging.licenses import ( canonicalize_license_expression as _canonicalize_license_expression, ) except ImportError: # pragma: nocover if not TYPE_CHECKING: # XXX: pyright is still upset even with # pyright: ignore[reportAssignmentType] _canonicalize_license_expression = _missing_canonicalize_license_expression
Upload File
Create Folder