HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/site-packages/setuptools/__pycache__/_normalization.cpython-37.pyc
B

N��gz�@s�dZddlZddlmZddlmZddlmZddlm	Z	ee
efZe�dej
�Ze�d	ej
�Ze
e
d
�dd�Ze
e
d
�dd�Ze
e
d�dd�Ze
e
d�dd�Ze
e
d�dd�Ze
e
d�dd�Ze
e
d�dd�ZdS)zZ
Helpers for normalization as expected in wheel/sdist/module file names
and core metadata
�N)�Path)�Union�)�	packaging)�SetuptoolsDeprecationWarningz)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[^A-Z0-9.]+)�name�returncCst�dd|�}|��st�|S)z�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'
    z
\W|^(?=\d)�_)�re�sub�isidentifier�AssertionError)r�safe�r�=/tmp/pip-unpacked-wheel-yrlplx0q/setuptools/_normalization.py�safe_identifiersr)�	componentrcCst�d|�S)z�Escape a component used as a project name according to Core Metadata.
    >>> safe_name("hello world")
    'hello-world'
    >>> safe_name("hello?world")
    'hello-world'
    �-)�_UNSAFE_NAME_CHARSr)rrrr�	safe_namesr)�versionrcCsR|�dd�}yttj�|��Stjjk
rLt�d|�}ttj�|��SXdS)a�Convert an arbitrary string into a valid version string.
    >>> 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):
    ...
    setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'ubuntu.lts'
    � �.rN)�replace�strrr�Version�InvalidVersionrr)r�v�attemptrrr�safe_version*src	CsXyt|�Stjjk
rRtjd|�d�d|�d�ddd�|�dd�}t|�SXd	S)
aConvert an arbitrary string into a version-like string.
    >>> best_effort_version("v0.2 beta")
    '0.2b0'

    >>> import warnings
    >>> warnings.simplefilter("ignore", category=SetuptoolsDeprecationWarning)
    >>> best_effort_version("ubuntu lts")
    'ubuntu.lts'
    zInvalid version: rz
            Version z� is not valid according to PEP 440.

            Please make sure to specify a valid version for your package.
            Also note that future releases of setuptools may halt the build process
            if an invalid version is given.
            z!https://peps.python.org/pep-0440/)i��	�)Zsee_urlZdue_daterN)rrrrr�emitrr)rrrrr�best_effort_versionAs

r#)�valuercCs|�dd��d�S)z�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'
    rr	)r�strip)r$rrr�filename_component_sr&cCstt|��S)zBLike ``safe_name`` but can be used as filename component for wheel)r&r)r$rrr�
safer_namehsr'cCstt|��S)zLLike ``best_effort_version`` but can be used as filename component for wheel)r&r#)r$rrr�safer_best_effort_versionnsr()�__doc__r
�pathlibr�typingrZexternr�warningsrrZ_Path�compile�IZ_VALID_NAMErrrrr#r&r'r(rrrr�<module>s