File: //usr/local/lib/python3.10/dist-packages/packaging/__pycache__/requirements.cpython-310.pyc
o
���g� � @ s~ d dl mZ d dlmZmZ ddlmZ ddlm Z ddl
mZmZ ddl
mZ ddlmZ G d d
� d
e�ZG dd� d�Zd
S )� )�annotations)�Any�Iterator� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec @ s e Zd ZdZdS )�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� r r �A/usr/local/lib/python3.10/dist-packages/packaging/requirements.pyr s r c @ sL e Zd ZdZddd�Zdd
d�Zddd
�Zddd�Zddd�Zddd�Z dS )�Requirementz�Parse a requirement.
Parse a given requirement string into its parts, such as name, specifier,
URL, and extras. Raises InvalidRequirement on a badly-formed requirement
string.
�requirement_string�str�return�Nonec
C s� zt |�}W n ty } ztt|��|�d }~ww |j| _|jp"d | _t|jp)g �| _t|j �| _ d | _
|j
d urIt�t�| _
t
|j
�| j
_d S d S �N)�_parse_requirementr r r �name�url�set�extrasr
� specifier�markerr �__new__r �_markers)�selfr �parsed�er r r �__init__"