
    .Ph	                    p    d dl mZ d dlZd dlmZmZ  ej        d          Zd e            fddZ	ddZ
dS )    )annotationsN)IteratorSetzv(?P<distribution>.+)-(?P<version>.+)(-(?P<build_tag>.+))?-(?P<python_tag>.+)-(?P<abi_tag>.+)-(?P<platform_tag>.+)\.whl 
req_stringstrancestral_req_stringstuple[str, ...]parent_extrasSet[str]returnIterator[tuple[str, ...]]c              #  V  	K   ddl }ddlm} |j                            |           	t          	          }||v rdS 	j        r?t          d                              |          }t          	fd|D                       rdS 	 |j
                            	j                  }	j        r,	j                            |j        d          sg ||R V  dS |j        r+|j        D ]%}t#          |g ||R 	j                  E d{V  $dS dS # |j
        j        $ r g ||R V  Y dS w xY w)	z
    Verify that a dependency and all of its dependencies are met.

    :param req_string: Requirement string
    :param parent_extras: Extras (eg. "test" in myproject[test])
    :yields: Unmet dependencies
    r   N   )	importlib) c              3  T   K   | ]"}j                             d |i           V  #dS )extra)environmentN)markerevaluate).0ereqs     K/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/build/_util.py	<genexpr>z#check_dependency.<locals>.<genexpr>*   s=      QQQ3:&&GQ<&@@@QQQQQQ    T)prereleases)packaging.requirements_compatr   requirementsRequirementr   r   	frozensetunionallmetadatadistributionname	specifiercontainsversionrequirescheck_dependencyextrasPackageNotFoundError)
r   r	   r   	packagingr   normalised_req_stringr.   distother_req_stringr   s
            @r   r-   r-      s      "!!!""""""

 
,
,Z
8
8CHH  555
z 5!!''66 QQQQ&QQQQQ 	 F{!..sx88
 = 	{!7!7RV!7!W!W 	{A)A+@AAAAAAA] 	{$(M { { +,<>m@U>mWl>m>moroyzzzzzzzzzz	{ 	{{ { 2 > > >=%='<========>s   D D('D(filenamere.Match[str] | Nonec                6    t                               |           S )N)_WHEEL_FILENAME_REGEXmatch)r4   s    r   parse_wheel_filenamer9   >   s     &&x000r   )r   r   r	   r
   r   r   r   r   )r4   r   r   r5   )
__future__r   recollections.abcr   r   compiler7   r#   r-   r9   r   r   r   <module>r>      s    " " " " " " 				 ) ) ) ) ) ) ) ) #
2   ?A\e\e\g\g,{ ,{ ,{ ,{ ,{^1 1 1 1 1 1r   