Sorry about accidentally committing another minor cleanup to importlib in this commit; thought I had already committed it separately.<br><br><div class="gmail_quote">On Thu, Aug 2, 2012 at 5:50 PM, brett.cannon <span dir="ltr">&lt;<a href="mailto:python-checkins@python.org" target="_blank">python-checkins@python.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="http://hg.python.org/cpython/rev/083534cd7874" target="_blank">http://hg.python.org/cpython/rev/083534cd7874</a><br>


changeset:   78388:083534cd7874<br>
user:        Brett Cannon &lt;<a href="mailto:brett@python.org">brett@python.org</a>&gt;<br>
date:        Thu Aug 02 17:50:06 2012 -0400<br>
summary:<br>
  Update the What&#39;s New details for importlib based on doc/ABC changes.<br>
<br>
files:<br>
  Doc/library/importlib.rst |  10 ++++++----<br>
  Doc/whatsnew/3.3.rst      |  24 +++++++++++++++++++-----<br>
  2 files changed, 25 insertions(+), 9 deletions(-)<br>
<br>
<br>
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst<br>
--- a/Doc/library/importlib.rst<br>
+++ b/Doc/library/importlib.rst<br>
@@ -141,9 +141,10 @@<br>
       longer requires implementation of a ``find_module()`` method.<br>
<br>
<br>
-.. class:: MetaPathFinder(Finder)<br>
+.. class:: MetaPathFinder<br>
<br>
-   An abstract base class representing a :term:`meta path finder`.<br>
+   An abstract base class representing a :term:`meta path finder` and<br>
+   inheriting from :class:`Finder`.<br>
<br>
    .. versionadded:: 3.3<br>
<br>
@@ -156,9 +157,10 @@<br>
       package. If a loader cannot be found, ``None`` is returned.<br>
<br>
<br>
-.. class:: PathEntryFinder(Finder)<br>
+.. class:: PathEntryFinder<br>
<br>
-   An abstract base class representing a :term:`path entry finder`.<br>
+   An abstract base class representing a :term:`path entry finder` and<br>
+   inheriting from :class:`Finder`.<br>
<br>
    .. versionadded:: 3.3<br>
<br>
diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst<br>
--- a/Doc/whatsnew/3.3.rst<br>
+++ b/Doc/whatsnew/3.3.rst<br>
@@ -519,7 +519,15 @@<br>
 making the import statement work. That means the various importers that were<br>
 once implicit are now fully exposed as part of the :mod:`importlib` package.<br>
<br>
-In terms of finders, * :class:`importlib.machinery.FileFinder` exposes the<br>
+The abstract base classes defined in :mod:`importlib.abc` have been expanded<br>
+to properly delineate between :term:`meta path finders &lt;meta path finder&gt;`<br>
+and :term:`path entry finders &lt;path entry finder&gt;` by introducing<br>
+:class:`importlib.abc.MetaPathFinder` and<br>
+:class:`importlib.abc.PathEntryFinder`, respectively. The old ABC of<br>
+:class:`importlib.abc.Finder` is now only provided for backwards-compatibility<br>
+and does not enforce any method requirements.<br>
+<br>
+In terms of finders, :class:`importlib.machinery.FileFinder` exposes the<br>
 mechanism used to search for source and bytecode files of a module. Previously<br>
 this class was an implicit member of :attr:`sys.path_hooks`.<br>
<br>
@@ -547,10 +555,10 @@<br>
<br>
 Beyond the expanse of what :mod:`importlib` now exposes, there are other<br>
 visible changes to import. The biggest is that :attr:`sys.meta_path` and<br>
-:attr:`sys.path_hooks` now store all of the finders used by import explicitly.<br>
-Previously the finders were implicit and hidden within the C code of import<br>
-instead of being directly exposed. This means that one can now easily remove or<br>
-change the order of the various finders to fit one&#39;s needs.<br>
+:attr:`sys.path_hooks` now store all of the meta path finders and path entry<br>
+hooks used by import.  Previously the finders were implicit and hidden within<br>
+the C code of import instead of being directly exposed. This means that one can<br>
+now easily remove or change the order of the various finders to fit one&#39;s needs.<br>
<br>
 Another change is that all modules have a ``__loader__`` attribute, storing the<br>
 loader used to create the module. :pep:`302` has been updated to make this<br>
@@ -1733,6 +1741,12 @@<br>
   both the modification time and size of the source file the bytecode file was<br>
   compiled from.<br>
<br>
+* :class:`importlib.abc.Finder` no longer specifies a `find_module()` abstract<br>
+  method that must be implemented. If you were relying on subclasses to<br>
+  implement that method, make sure to check for the method&#39;s existence first.<br>
+  You will probably want to check for `find_loader()` first, though, in the<br>
+  case of working with :term:`path entry finders &lt;path entry finder&gt;`.<br>
+<br>
 * :mod:`pkgutil` has been converted to use :mod:`importlib` internally. This<br>
   eliminates many edge cases where the old behaviour of the PEP 302 import<br>
   emulation failed to match the behaviour of the real import system. The<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Repository URL: <a href="http://hg.python.org/cpython" target="_blank">http://hg.python.org/cpython</a><br>
</font></span><br>_______________________________________________<br>
Python-checkins mailing list<br>
<a href="mailto:Python-checkins@python.org">Python-checkins@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-checkins" target="_blank">http://mail.python.org/mailman/listinfo/python-checkins</a><br>
<br></blockquote></div><br>