File: D:/Python311/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-311.pyc
�
�mi� � � � d dl mZ d dlmZmZ ddlmZ ddlm Z ddl
mZmZ ddl
mZ ddlmZ G d � d
e� � Z G d� d� � Zd
S )� )�annotations)�Any�Iterator� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec � � e Zd ZdZdS )�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� � �DD:\Python311\Lib\site-packages\pip/_vendor/packaging/requirements.pyr r s � � � � � �� � � r r c �B � e Zd ZdZdd�Zdd �Zdd
�Zdd�Zdd
�Zdd�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 � � t |� � }n/# t $ r"}t t |� � � � |�d }~ww xY w|j | _ |j pd | _ t
|j pg � � | _ t |j � � | _ d | _
|j
�>t j t � � | _
t |j
� � | j
_ d S d S �N)�_parse_requirementr r r �name�url�set�extrasr � specifier�markerr �__new__r
�_markers)�selfr �parsed�es r �__init__zRequirement.__init__"