File: D:/Python311/Lib/site-packages/setuptools/config/__pycache__/pyprojecttoml.cpython-311.pyc
�
�nchK � �: � d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z m
Z
mZmZm
Z
mZ ddlmZmZ ddlmZ dd lmZ dd
lmZmZ e rddlmZ eeej f Z ej e � � Z!ded
e"fd�Z#de"ded
e$fd�Z% d'ddded
dfd�Z& d(deded fd�Z'de"de"ded d
e$fd�Z( d)de"dee de$ded d
e"f
d�Z) G d� d� � Z*d� Z+ede$fd �� � Z, G d!� d"ej- � � Z. G d#� d$e/� � Z0 G d%� d&e/� � Z1dS )*z�
Load setuptools configuration from ``pyproject.toml`` files.
**PRIVATE MODULE**: API reserved for setuptools internal usage only.
� N)�contextmanager)�partial)�
TYPE_CHECKING�Callable�Dict�Optional�Mapping�Union)� FileError�OptionError� )�expand)�apply)�_PREVIOUSLY_DEFINED�_WouldIgnoreField��Distribution�filepath�returnc � � ddl m} t | d� � 5 }|� |� � cd d d � � S # 1 swxY w Y d S )Nr )�tomli�rb)�setuptools.externr �open�load)r r �files �AD:\Python311\Lib\site-packages\setuptools/config/pyprojecttoml.py� load_filer s� � �'�'�'�'�'�'�
�h�� � � ���z�z�$��� � � � � � � � � � � � ���� � � � � � s
�9�=� =�configc �� � ddl m} |j � d� � }t |d� � r|� � � |� | � � S # |j $ r�}d|j � �}|j �
d� � dk r9t � |� � t � |j
� � d|j � d �}t |� d
|� �� � d �d }~ww xY w)Nr
)�_validate_pyprojectztrove-classifier�_disable_downloadzconfiguration error: �`�projectzinvalid pyproject.toml config: �.�
)� r! �FORMAT_FUNCTIONS�get�hasattrr"