Skip to content

Commit

Permalink
bpo-37324: Remove ABC aliases from collections (GH-23754)
Browse files Browse the repository at this point in the history
Remove deprecated aliases to Abstract Base Classes from the
collections module.
  • Loading branch information
hugovk committed Jan 12, 2021
1 parent 6dfd173 commit c47c78b
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 21 deletions.
5 changes: 0 additions & 5 deletions Doc/library/collections.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
-------------------------
Expand Down
4 changes: 4 additions & 0 deletions Doc/whatsnew/3.10.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
======================
Expand Down
16 changes: 0 additions & 16 deletions Lib/collections/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
################################################################################
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
the :mod:`collections` module.

0 comments on commit c47c78b

Please sign in to comment.