File: //home/arjun/projects/env/lib/python3.10/site-packages/packaging/__pycache__/utils.cpython-310.pyc
o
we� � @ sT d dl Z d dlmZmZmZmZmZ ddlmZm Z ddl
mZmZ eed ee
ef f Zede�ZG dd � d e�ZG d
d� de�ZG dd
� d
e�Ze �de j�Ze �d�Ze �d�Ze �d�Zdd�dededefdd�Zdedefdd�Zdd�deeef dedefdd �Zd!edeeeeee f fd"d#�Zd!edeeef fd$d%�Z dS )&� N)� FrozenSet�NewType�Tuple�Union�cast� )�Tag� parse_tag)�InvalidVersion�Version� �NormalizedNamec @ � e Zd ZdZdS )�InvalidNamezW
An invalid distribution name; users should refer to the packaging user guide.
N��__name__�
__module__�__qualname__�__doc__r r r �H/home/arjun/projects/env/lib/python3.10/site-packages/packaging/utils.pyr � r c @ r )�InvalidWheelFilenamezM
An invalid wheel filename was found, users should refer to PEP 427.
Nr r r r r r r r c @ r )�InvalidSdistFilenamez^
An invalid sdist filename was found, users should refer to the packaging user guide.
Nr r r r r r r r z)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[-_.]+z/^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$z (\d+)(.*)F)�validate�namer �returnc C s6 |rt �| �std| ����t�d| ��� }tt|�S )Nzname is invalid: �-)�_validate_regex�matchr �_canonicalize_regex�sub�lowerr r
)r r �valuer r r �canonicalize_name+ s
r# c C s t �| �d uS �N)�_normalized_regexr )r r r r �is_normalized_name3 s r&