[Python-checkins] bpo-37324: Remove ABC aliases from collections (GH-23754)

vstinner webhook-mailer at python.org
Tue Jan 12 18:16:46 EST 2021


https://github.com/python/cpython/commit/c47c78b878ff617164b2b94ff711a6103e781753
commit: c47c78b878ff617164b2b94ff711a6103e781753
branch: master
author: Hugo van Kemenade <hugovk at users.noreply.github.com>
committer: vstinner <vstinner at python.org>
date: 2021-01-13T00:16:37+01:00
summary:

bpo-37324: Remove ABC aliases from collections (GH-23754)

Remove deprecated aliases to Abstract Base Classes from the
collections module.

files:
A Misc/NEWS.d/next/Core and Builtins/2020-12-12-20-09-12.bpo-37324.jB-9_U.rst
M Doc/library/collections.rst
M Doc/whatsnew/3.10.rst
M Lib/collections/__init__.py

diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 1293f542b0437..aa0acfaae45a5 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -33,11 +33,6 @@ Python's general purpose built-in containers, :class:`dict`, :class:`list`,
 :class:`UserString`     wrapper around string objects for easier string subclassing
 =====================   ====================================================================
 
-.. deprecated-removed:: 3.3 3.10
-    Moved :ref:`collections-abstract-base-classes` to the :mod:`collections.abc` module.
-    For backwards compatibility, they continue to be visible in this module through
-    Python 3.9.
-
 
 :class:`ChainMap` objects
 -------------------------
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
index d2b3ed75f8c27..7a51a9dbfb83a 100644
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -550,6 +550,10 @@ Removed
   now due to the _warnings module was converted to a builtin module in 2.6.
   (Contributed by Hai Shi in :issue:`42599`.)
 
+* Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
+  the :mod:`collections` module.
+  (Contributed by Victor Stinner in :issue:`37324`.)
+
 
 Porting to Python 3.10
 ======================
diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py
index 9c25a2d2784b8..7d338131d6740 100644
--- a/Lib/collections/__init__.py
+++ b/Lib/collections/__init__.py
@@ -51,22 +51,6 @@
     pass
 
 
-def __getattr__(name):
-    # For backwards compatibility, continue to make the collections ABCs
-    # through Python 3.6 available through the collections module.
-    # Note, no new collections ABCs were added in Python 3.7
-    if name in _collections_abc.__all__:
-        obj = getattr(_collections_abc, name)
-        import warnings
-        warnings.warn("Using or importing the ABCs from 'collections' instead "
-                      "of from 'collections.abc' is deprecated since Python 3.3, "
-                      "and in 3.10 it will stop working",
-                      DeprecationWarning, stacklevel=2)
-        globals()[name] = obj
-        return obj
-    raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
-
-
 ################################################################################
 ### OrderedDict
 ################################################################################
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-12-12-20-09-12.bpo-37324.jB-9_U.rst b/Misc/NEWS.d/next/Core and Builtins/2020-12-12-20-09-12.bpo-37324.jB-9_U.rst
new file mode 100644
index 0000000000000..5b57da4de5a77
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2020-12-12-20-09-12.bpo-37324.jB-9_U.rst	
@@ -0,0 +1,2 @@
+Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
+the :mod:`collections` module.



More information about the Python-checkins mailing list