[Python-checkins] cpython: whatsnew: importlib deprecations.

r.david.murray python-checkins at python.org
Sat Feb 22 20:29:09 CET 2014


http://hg.python.org/cpython/rev/8f54f601fd75
changeset:   89322:8f54f601fd75
parent:      89320:d6aa3fa646e2
user:        R David Murray <rdmurray at bitdance.com>
date:        Sat Feb 22 14:28:46 2014 -0500
summary:
  whatsnew: importlib deprecations.

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

files:
  Doc/whatsnew/3.4.rst |  28 ++++++++++++++++++++++++----
  1 files changed, 24 insertions(+), 4 deletions(-)


diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -1527,10 +1527,30 @@
   :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.

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list