File: //opt/osm/venv/lib64/python3.10/site-packages/setuptools/__pycache__/discovery.cpython-310.pyc
o
0i?Q � @ s d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZmZ ddlZddlmZ ddlmZ eeejf Ze
egef Ze
e Zejj Z!e rbdd l"m#Z# d
edefdd
�Z$G dd� d�Z%G dd� de%�Z&G dd� de&�Z'G dd� de%�Z(G dd� de'�Z)G dd� de(�Z*dededee fdd�Z+G dd� d�Z,d ee dee fd!d"�Z-d ee dee fd#d$�Z.d ee d%eeef d&edee fd'd(�Z/d)ed%eeef d&edefd*d+�Z0d ee d,edeeef fd-d.�Z1dS )/u_ 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
� N��fnmatchcase)�glob)�Path)
�
TYPE_CHECKING�Callable�Dict�Iterable�Iterator�List�Mapping�Optional�Tuple�Union)�log)�convert_path)�Distribution�path�returnc C s t j�| ��� S �N)�osr �basename�isidentifier)r � r �B/opt/osm/venv/lib/python3.10/site-packages/setuptools/discovery.py�_valid_nameI s r c @ s� e Zd ZU dZdZeedf ed<