From 1b79918641e1db92a30367a7bef7be77fe6a2de2 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 17 Aug 2012 14:08:24 -0400 Subject: Issue #15640: Document importlib.abc.Finder as deprecated. The code for the class itself isn't deprecated for backwards-compatibility reasons, but the class shouldn't be directly inherited by anyone anymore as the API is no longer as widely valid as it used to be. --- Doc/library/importlib.rst | 49 ++++++++++++++++++++++++----------------------- Misc/NEWS | 2 ++ 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index 292fec1..04097f0 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -124,7 +124,7 @@ are also provided to help in implementing the core ABCs. ABC hierarchy:: object - +-- Finder + +-- Finder (deprecated) | +-- MetaPathFinder | +-- PathEntryFinder +-- Loader @@ -133,15 +133,16 @@ ABC hierarchy:: +-- ExecutionLoader --+ +-- FileLoader +-- SourceLoader - +-- PyLoader - +-- PyPycLoader + +-- PyLoader (deprecated) + +-- PyPycLoader (deprecated) .. class:: Finder - An abstract base class representing a :term:`finder`. Finder - implementations should derive from (or register with) the more specific - :class:`MetaPathFinder` or :class:`PathEntryFinder` ABCs. + An abstract base class representing a :term:`finder`. + + .. deprecated:: 3.3 + Use :class:`MetaPathFinder` or :class:`PathEntryFinder` instead. .. method:: find_module(fullname, path=None) @@ -656,30 +657,30 @@ find and load modules. .. class:: PathFinder - :term:`Finder` for :data:`sys.path` and package ``__path__`` attributes. - This class implements the :class:`importlib.abc.MetaPathFinder` ABC. + A :term:`Finder` for :data:`sys.path` and package ``__path__`` attributes. + This class implements the :class:`importlib.abc.MetaPathFinder` ABC. - Only class methods are defined by this class to alleviate the need for - instantiation. + Only class methods are defined by this class to alleviate the need for + instantiation. - .. classmethod:: find_module(fullname, path=None) + .. classmethod:: find_module(fullname, path=None) - Class method that attempts to find a :term:`loader` for the module - specified by *fullname* on :data:`sys.path` or, if defined, on - *path*. For each path entry that is searched, - :data:`sys.path_importer_cache` is checked. If a non-false object is - found then it is used as the :term:`finder` to look for the module - being searched for. If no entry is found in - :data:`sys.path_importer_cache`, then :data:`sys.path_hooks` is - searched for a finder for the path entry and, if found, is stored in - :data:`sys.path_importer_cache` along with being queried about the - module. If no finder is ever found then ``None`` is both stored in - the cache and returned. + Class method that attempts to find a :term:`loader` for the module + specified by *fullname* on :data:`sys.path` or, if defined, on + *path*. For each path entry that is searched, + :data:`sys.path_importer_cache` is checked. If a non-false object is + found then it is used as the :term:`finder` to look for the module + being searched for. If no entry is found in + :data:`sys.path_importer_cache`, then :data:`sys.path_hooks` is + searched for a finder for the path entry and, if found, is stored in + :data:`sys.path_importer_cache` along with being queried about the + module. If no finder is ever found then ``None`` is both stored in + the cache and returned. .. classmethod:: invalidate_caches() - Call :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all - finders stored in :attr:`sys.path_importer_cache`. + Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all + finders stored in :attr:`sys.path_importer_cache`. .. class:: FileFinder(path, \*loader_details) diff --git a/Misc/NEWS b/Misc/NEWS index b7b4a56..7e95b66 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -41,6 +41,8 @@ Tools/Demos Documentation ------------- +- Issue #15640: Document importlib.abc.Finder as deprecated. + - Issue #15630: Add an example for "continue" stmt in the tutorial. Patch by Daniel Ellis. -- cgit v0.12