/opt/alt/python312/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata
""" Compatibility layer with Python 3.8/3.9 """ from typing import TYPE_CHECKING, Any, Optional if TYPE_CHECKING: # pragma: no cover # Prevent circular imports on runtime. from . import Distribution, EntryPoint else: Distribution = EntryPoint = Any def normalized_name(dist: Distribution) -> Optional[str]: """ Honor name normalization for distributions that don't provide ``_normalized_name``. """ try: return dist._normalized_name except AttributeError: from . import Prepared # -> delay to prevent circular imports. return Prepared.normalize(getattr(dist, "name", None) or dist.metadata['Name']) def ep_matches(ep: EntryPoint, **params) -> bool: """ Workaround for ``EntryPoint`` objects without the ``matches`` method. """ try: return ep.matches(**params) except AttributeError: from . import EntryPoint # -> delay to prevent circular imports. # Reconstruct the EntryPoint object to make sure it is compatible. return EntryPoint(ep.name, ep.value, ep.group).matches(**params)
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
_adapters.py
Edit
_collections.py
Edit
_compat.py
Edit
_functools.py
Edit
_itertools.py
Edit
_meta.py
Edit
_py39compat.py
Edit
_text.py
Edit
py.typed
Edit