HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pip/_internal/__pycache__/pyproject.cpython-310.pyc
o

@%NeB�@s�ddlZddlmZddlmZmZmZddlmZddl	m
Z
mZddlm
Z
mZmZdedefd	d
�Zdedefdd
�Zedgd��Zdeededededeef
dd�ZdS)�N)�
namedtuple)�Any�List�Optional)�tomli)�InvalidRequirement�Requirement)�InstallationError�InvalidPyProjectBuildRequires�MissingPyProjectBuildRequires�obj�returncCst|t�o
tdd�|D��S)Ncss�|]}t|t�VqdS)N)�
isinstance�str)�.0�item�r�9/usr/lib/python3/dist-packages/pip/_internal/pyproject.py�	<genexpr>s�z"_is_list_of_str.<locals>.<genexpr>)r�list�all)rrrr�_is_list_of_strsr�unpacked_source_directorycCstj�|d�S)Nzpyproject.toml)�os�path�join)rrrr�make_pyproject_pathsr�BuildSystemDetails)�requires�backend�check�backend_path�
use_pep517�pyproject_toml�setup_py�req_namecCs�tj�|�}tj�|�}|s|st|�d���|r<t|dd��}t�|���}Wd�n1s1wY|�d�}nd}|rO|sO|durL|sLtd��d}n|rgd|vrg|durd|sdtd	�	|d���d}n|durm|}|dussJ�|swdS|dur�d
dgdd
�}|dus�J�d|vr�t
|d��|d}	t|	�s�t|dd��|	D]}
zt
|
�Wq�ty�}z
t|d|
��d�|�d}~ww|�d�}|�dg�}
g}|dur�d}d
dg}t|	|||
�S)aBLoad the pyproject.toml file.

    Parameters:
        use_pep517 - Has the user requested PEP 517 processing? None
                     means the user hasn't explicitly specified.
        pyproject_toml - Location of the project's pyproject.toml file
        setup_py - Location of the project's setup.py file
        req_name - The name of the requirement we're processing (for
                   error reporting)

    Returns:
        None if we should use the legacy code path, otherwise a tuple
        (
            requirements from pyproject.toml,
            name of PEP 517 backend,
            requirements we should check are installed after setting
                up the build environment
            directory paths to import the backend from (backend-path),
                relative to the project root.
        )
    zW does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.zutf-8)�encodingNzbuild-systemzIDisabling PEP 517 processing is invalid: project does not have a setup.pyT�
build-backendzbDisabling PEP 517 processing is invalid: project specifies a build backend of {} in pyproject.tomlzsetuptools>=40.8.0�wheelz setuptools.build_meta:__legacy__)rr'r)�packagezIt is not a list of strings.)r)�reasonz$It contains an invalid requirement: zbackend-path)rr�isfiler	�openr�loads�read�get�formatrrr
rrr)r"r#r$r%�
has_pyproject�	has_setup�f�pp_toml�build_systemr�requirement�errorrr!r rrr�load_pyproject_tomls|���
�
�	
�����

r8)r�collectionsr�typingrrr�pip._vendorr�"pip._vendor.packaging.requirementsrr�pip._internal.exceptionsr	r
r�boolrrrrr8rrrr�<module>s,������