diff --git a/importlib_metadata/__init__.py b/importlib_metadata/__init__.py index c85ffa76..32ee3b4d 100644 --- a/importlib_metadata/__init__.py +++ b/importlib_metadata/__init__.py @@ -877,8 +877,9 @@ class MetadataPathFinder(NullFinder, DistributionFinder): of Python that do not have a PathFinder find_distributions(). """ + @classmethod def find_distributions( - self, context=DistributionFinder.Context() + cls, context=DistributionFinder.Context() ) -> Iterable[PathDistribution]: """ Find distributions. @@ -888,7 +889,7 @@ def find_distributions( (or all names if ``None`` indicated) along the paths in the list of directories ``context.path``. """ - found = self._search_paths(context.name, context.path) + found = cls._search_paths(context.name, context.path) return map(PathDistribution, found) @classmethod diff --git a/newsfragments/484.bugfix.rst b/newsfragments/484.bugfix.rst new file mode 100644 index 00000000..4274419b --- /dev/null +++ b/newsfragments/484.bugfix.rst @@ -0,0 +1 @@ +Make MetadataPathFinder.find_distributions a classmethod for consistency with CPython. Closes #484. \ No newline at end of file