diff options
Diffstat (limited to 'Lib/importlib')
-rw-r--r-- | Lib/importlib/metadata.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/Lib/importlib/metadata.py b/Lib/importlib/metadata.py index 8cb45ec..53f9fb5 100644 --- a/Lib/importlib/metadata.py +++ b/Lib/importlib/metadata.py @@ -37,7 +37,8 @@ class PackageNotFoundError(ModuleNotFoundError): """The package was not found.""" -class EntryPoint(collections.namedtuple('EntryPointBase', 'name value group')): +class EntryPoint( + collections.namedtuple('EntryPointBase', 'name value group')): """An entry point as defined by Python packaging conventions. See `the packaging docs on entry points @@ -107,6 +108,12 @@ class EntryPoint(collections.namedtuple('EntryPointBase', 'name value group')): """ return iter((self.name, self)) + def __reduce__(self): + return ( + self.__class__, + (self.name, self.value, self.group), + ) + class PackagePath(pathlib.PurePosixPath): """A reference to a path in a package""" @@ -334,10 +341,21 @@ class DistributionFinder(MetaPathFinder): """ class Context: + """ + Keyword arguments presented by the caller to + ``distributions()`` or ``Distribution.discover()`` + to narrow the scope of a search for distributions + in all DistributionFinders. + + Each DistributionFinder may expect any parameters + and should attempt to honor the canonical + parameters defined below when appropriate. + """ name = None """ Specific name for which a distribution finder should match. + A name of ``None`` matches all distributions. """ def __init__(self, **kwargs): @@ -347,6 +365,9 @@ class DistributionFinder(MetaPathFinder): def path(self): """ The path that a distribution finder should search. + + Typically refers to Python package paths and defaults + to ``sys.path``. """ return vars(self).get('path', sys.path) |