File: //usr/local/CyberCP/lib/python3.10/site-packages/setuptools/__pycache__/discovery.cpython-310.pyc
o
�h
S � @ sp d Z ddlmZ ddlZddlZddlmZmZmZ ddl m
Z
ddlmZ ddlm
Z
ddlmZmZ ddlZd d
lmZ ddlmZ ddlmZ erRdd
lmZ ejjZd<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 d d!� d!e#�Z%d=d&d'�Z&G d(d)� d)�Z'd>d+d,�Z(d>d-d.�Z)d?d3d4�Z*d@d6d7�Z+dAd:d;�Z,dS )Bu_ 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)�Distribution�pathr
�return�boolc C s t j�| ��� S �N)�osr �basename�isidentifier)r � r �G/usr/local/CyberCP/lib/python3.10/site-packages/setuptools/discovery.py�_valid_name? s r c @ s. e Zd ZdZddd�Zdd
d�Zddd
�ZdS )�_Filterz�
Given a list of patterns, create a callable that will be true only if
the input matches at least one of the patterns.
�patterns�strr �Nonec G s t �|�| _d S r )�dict�fromkeys� _patterns)�selfr r r r �__init__J s z_Filter.__init__�itemr c s t � fdd�| jD ��S )Nc 3 s � | ]}t � |�V qd S r r )�.0�pat�r$ r r � <genexpr>N s � z#_Filter.__call__.<locals>.<genexpr>)�anyr! �r"