JM d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlm Z m Z mZmZm Z mZmZmZmZmZ ddlZddlmZ ddlmZ eeej f Ze egef Ze e Zej j Z!e rdd l"m#Z# d edefdZ$ G d d Z% G d de% Z& G d de& Z' G d de% Z( G d de' Z) G d de( Z*dededee fdZ+ G d d Z,dee dee fdZ-dee dee fd Z.dee d!eeef d"edee fd#Z/d$ed!eeef d"edefd%Z0dee d&edeeef fd'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 Nfnmatchcase)glob)Path) TYPE_CHECKINGCallableDictIterableIteratorListMappingOptionalTupleUnion)log)convert_path)Distributionpathreturnc d t j | S N)osr basenameisidentifier)r s /builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/discovery.py_valid_namer I s$ 7D!!..000 c e Zd ZU dZdZeedf ed<