File: D:/Python311/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-311.pyc
�
�mi� � � � d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl m
Z
d dlmZ d dl
mZ d d lmZ erd d
lmZ ej e� � Z G d� de
� � ZdS )
� )�annotationsN)�Iterable)�
TYPE_CHECKING)�BuildEnvironment)�AbstractDistribution)�InstallationError)�BaseDistribution)�runner_with_spinner_message)�BuildEnvironmentInstallerc �j � e Zd ZdZedd�� � Zdd�Zdd
�Zdd�Zd d�Z d d�Z
dd�Zd!d�Zd"d�Z
dS )#�SourceDistributionzRepresents a source distribution.
The preparation step for these needs metadata for the packages to be
generated.
�return�
str | Nonec �@ � | j j sJ �| j j j S )z/Identify this requirement uniquely by its link.)�req�link�url_without_fragment��selfs �CD:\Python311\Lib\site-packages\pip/_internal/distributions/sdist.py�build_tracker_idz#SourceDistribution.build_tracker_id s! � � �x�}�����x�}�1�1� r c �4 � | j � � � S )N)r �get_distr s r �get_metadata_distributionz,SourceDistribution.get_metadata_distribution s � ��x� � �"�"�"r �build_env_installerr �build_isolation�bool�check_build_deps�Nonec �� � | j � � � |rD| � |� � | j � � � | � |� � n| j � � � |ra| j j }|�J �| j j � |� � \ }}|r| � d|� � |r| � |� � | j �
� � d S )N�the backend dependencies)r �load_pyproject_toml�_prepare_build_backend�editable_sanity_check�_install_build_reqs�pyproject_requires� build_env�check_requirements�_raise_conflicts�_raise_missing_reqs�prepare_metadata)r r r r r'