ruạṛ
a �u:j&S � @ s� d Z ddlmZ ddlZddlZddlmZmZmZ ddl m Z ddlmZ ddlm Z ddlmZmZ ddlZd d lmZ ddlmZ ddlmZ er�dd lmZ ejjZddd�dd�ZG dd� d�ZG dd� d�Z G dd� de �Z!G dd� de!�Z"G dd� de �Z#G dd� de"�Z$G dd � d e#�Z%d!dd"d#�d$d%�Z&G d&d'� d'�Z'd"d"d(�d)d*�Z(d"d"d(�d+d,�Z)d"d-dd.d/�d0d1�Z*d!d-dd!d2�d3d4�Z+d"dd5d6�d7d8�Z,dS )9u_ Automatic discovery of Python modules and packages (for inclusion in the distribution) and other config values. For the purposes of this module, the following nomenclature is used: - "src-layout": a directory representing a Python project that contains a "src" folder. Everything under the "src" folder is meant to be included in the distribution when packaging the project. Example:: . ├── tox.ini ├── pyproject.toml └── src/ └── mypkg/ ├── __init__.py ├── mymodule.py └── my_data_file.txt - "flat-layout": a Python project that does not use "src-layout" but instead have a directory under the project root for each package:: . ├── tox.ini ├── pyproject.toml └── mypkg/ ├── __init__.py ├── mymodule.py └── my_data_file.txt - "single-module": a project that contains a single Python script direct under the project root (no directory used):: . ├── tox.ini ├── pyproject.toml └── mymodule.py � )�annotationsN)�Iterable�Iterator�Mapping��fnmatchcase)�glob)�Path)� TYPE_CHECKING�ClassVar� )�StrPath)�log)�convert_path)�Distributionr �bool)�path�returnc C s t j�| ��� S �N)�osr �basename�isidentifier)r � r �G/opt/bart/bart_venv/lib/python3.9/site-packages/setuptools/discovery.py�_valid_name? s r c @ s@ e Zd ZdZddd�dd�Zddd�d d �Zddd�dd�Zd S )�_Filterz� Given a list of patterns, create a callable that will be true only if the input matches at least one of the patterns. �str�None)�patternsr c G s t �|�| _d S r )�dict�fromkeys� _patterns)�selfr r r r �__init__J s z_Filter.__init__r )�itemr c s t � fdd�| jD ��S )Nc 3 s | ]}t � |�V qd S r r )�.0�pat�r$ r r � <genexpr>N � z#_Filter.__call__.<locals>.<genexpr>)�anyr! �r"