From: R David Murray <rdmurray@bitdance.com>
Date: Sat, 22 Feb 2014 19:28:46 +0000 (-0500)
Subject: whatsnew: importlib deprecations.
X-Git-Tag: v3.4.0rc2~4
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b79b785a921959245ebc96ae5da216da593959a5;p=python

whatsnew: importlib deprecations.

This addresses issue #20199, if I got it right.  The deprecation and
replacement lists are based on the importlib documentation.
---

diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index 1b71c575a3..c8c47e0f9a 100644
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -1504,10 +1504,30 @@ Deprecated Python Modules, Functions and Methods
   :meth:`difflib.SequenceMatcher.isbpopular` were removed: use ``x in sm.bjunk`` and
   ``x in sm.bpopular``, where *sm* is a :class:`~difflib.SequenceMatcher` object.
 
-* :func:`importlib.util.module_for_loader` is pending deprecation. Using
-  :func:`importlib.util.module_to_load` and
-  :meth:`importlib.abc.Loader.init_module_attrs` allows subclasses of a loader
-  to more easily customize module loading.
+* As mentioned in :ref:`whatsnew-pep-451`, a number of :mod:`importilb`
+  methods and functions are deprecated: :meth:`importlib.find_loader` is
+  replaced by :func:`importlib.util.find_spec`;
+  :meth:`importlib.machinery.PathFinder.find_module` is replaced by
+  :meth:`importlib.machinery.PathFinder.find_spec`;
+  :meth:`importlib.abc.MetaPathFinder.find_module` is replaced by
+  :meth:`importlib.abc.MetaPathFinder.find_spec`;
+  :meth:`importlib.abc.PathEntryFinder.find_loader` and
+  :meth:`~importlib.abc.PathEntryFinder.find_module` are replaced by
+  :meth:`importlib.abc.PathEntryFinder.find_spec`; all of the ``xxxLoader`` ABC
+  ``load_module`` methods (:meth:`importlib.abc.Loader.load_module`,
+  :meth:`importlib.abc.InspectLoader.load_module`,
+  :meth:`importlib.abc.FileLoader.load_module`,
+  :meth:`importlib.abc.SourceLoader.load_module`) should no longer be
+  implemented, instead loaders should implement an
+  ``exec_module`` method
+  (:meth:`importlib.abc.Loader.exec_module`,
+  :meth:`importlib.abc.InspectLoader.exec_module`
+  :meth:`importlib.abc.SourceLoader.exec_module`) and let the import system
+  take care of the rest; and
+  :meth:`importlib.abc.Loader.module_repr`,
+  :meth:`importlib.util.module_for_loader`, :meth:`importlib.util.set_loader`,
+  and :meth:`importlib.util.set_package` are no longer needed because their
+  functions are now handled automatically by the import system.
 
 * The :mod:`imp` module is pending deprecation. To keep compatibility with
   Python 2/3 code bases, the module's removal is currently not scheduled.