관리-도구
편집 파일: setupcfg.cpython-312.pyc
� t��e�c � � � d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z m Z mZmZm Z mZmZmZmZmZmZmZ ddlmZmZ dd lmZ dd lmZmZ ddlmZ ddl m!Z!m"Z" dd l#m$Z$ ddl%m&Z& e rddl'm(Z( ddl)m*Z* ee+ejX f Z-ededef f Z. ede.f Z/ eded �� Z0 d8de-de1fd�Z2ddde-ddfd�Z3 d9ddde-dee- de4ded f d�Z5d e0d!e+fd"�Z6d#ed de1fd$�Z7 d:d%dd&e/ded' fd(�Z8d)e+d*e+d+e9fd,�Z: G d-� d.e e0 � Z; G d/� d0e;d1 � Z< G d2� d3e;d � Z= G d4� d5e$� Z> G d6� d7e$� Z?y);a< Load setuptools configuration from ``setup.cfg`` files. **API will be made private in the future** To read project metadata, consider using ``build.util.project_wheel_metadata`` (https://pypi.org/project/build/). For simple scenarios, you can also try parsing the file directly with the help of ``configparser``. � N)�defaultdict)�partial��wraps)� TYPE_CHECKING�Callable�Any�Dict�Generic�Iterable�List�Optional�Set�Tuple�TypeVar�Union� )� FileError�OptionError)�default_environment)�InvalidRequirement�Requirement)�SpecifierSet)�InvalidVersion�Version)�SetuptoolsDeprecationWarning� )�expand)�DistributionMetadata��Distribution�str�Target)r! r )�bound�filepath�returnc �v � ddl m} |� }|r|j � ng }t || ||� }t |� S )a, Read given configuration file and returns options from it as a dict. :param str|unicode filepath: Path to configuration file to get options from. :param bool find_others: Whether to search for other configuration files which could be on in various places. :param bool ignore_option_errors: Whether to silently ignore options, values of which could not be resolved (e.g. due to exceptions in directives such as file:, attr:, etc.). If False exceptions are propagated as expected. :rtype: dict r r )�setuptools.distr! �find_config_files�_apply�configuration_to_dict)r% �find_others�ignore_option_errorsr! �dist� filenames�handlerss ��/builddir/build/BUILDROOT/alt-python312-setuptools-69.0.2-1.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/setuptools/config/setupcfg.py�read_configurationr2 8 s<