--- /dev/null
+:mod:`!aifc` --- Read and write AIFF and AIFC files
+===================================================
+
+.. module:: aifc
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!aifc` module was
+`Python 3.12 <https://docs.python.org/3.12/library/aifc.html>`_.
--- /dev/null
+:mod:`!asynchat` --- Asynchronous socket command/response handler
+=================================================================
+
+.. module:: asynchat
+ :synopsis: Removed in 3.12.
+ :deprecated:
+
+.. deprecated-removed:: 3.6 3.12
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.12 <whatsnew312-removed>` after
+being deprecated in Python 3.6. The removal was decided in :pep:`594`.
+
+Applications should use the :mod:`asyncio` module instead.
+
+The last version of Python that provided the :mod:`!asynchat` module was
+`Python 3.11 <https://docs.python.org/3.11/library/asynchat.html>`_.
--- /dev/null
+:mod:`!asyncore` --- Asynchronous socket handler
+================================================
+
+.. module:: asyncore
+ :synopsis: Removed in 3.12.
+ :deprecated:
+
+.. deprecated-removed:: 3.6 3.12
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.12 <whatsnew312-removed>` after
+being deprecated in Python 3.6. The removal was decided in :pep:`594`.
+
+Applications should use the :mod:`asyncio` module instead.
+
+The last version of Python that provided the :mod:`!asyncore` module was
+`Python 3.11 <https://docs.python.org/3.11/library/asyncore.html>`_.
--- /dev/null
+:mod:`!audioop` --- Manipulate raw audio data
+=============================================
+
+.. module:: audioop
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!audioop` module was
+`Python 3.12 <https://docs.python.org/3.12/library/audioop.html>`_.
--- /dev/null
+:mod:`!cgi` --- Common Gateway Interface support
+================================================
+
+.. module:: cgi
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+A fork of the module on PyPI can be used instead: :pypi:`legacy-cgi`.
+This is a copy of the cgi module, no longer maintained or supported by the core
+Python team.
+
+The last version of Python that provided the :mod:`!cgi` module was
+`Python 3.12 <https://docs.python.org/3.12/library/cgi.html>`_.
--- /dev/null
+:mod:`!cgitb` --- Traceback manager for CGI scripts
+===================================================
+
+.. module:: cgitb
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+A fork of the module on PyPI can now be used instead: :pypi:`legacy-cgi`.
+This is a copy of the cgi module, no longer maintained or supported by the core
+Python team.
+
+The last version of Python that provided the :mod:`!cgitb` module was
+`Python 3.12 <https://docs.python.org/3.12/library/cgitb.html>`_.
--- /dev/null
+:mod:`!chunk` --- Read IFF chunked data
+=======================================
+
+.. module:: chunk
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!chunk` module was
+`Python 3.12 <https://docs.python.org/3.12/library/chunk.html>`_.
--- /dev/null
+:mod:`!crypt` --- Function to check Unix passwords
+==================================================
+
+.. module:: crypt
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+Applications can use the :mod:`hashlib` module from the standard library.
+Other possible replacements are third-party libraries from PyPI:
+:pypi:`legacycrypt`, :pypi:`bcrypt`, :pypi:`argon2-cffi`, or :pypi:`passlib`.
+These are not supported or maintained by the Python core team.
+
+The last version of Python that provided the :mod:`!crypt` module was
+`Python 3.12 <https://docs.python.org/3.12/library/crypt.html>`_.
--- /dev/null
+:mod:`!distutils` --- Building and installing Python modules
+============================================================
+
+.. module:: distutils
+ :synopsis: Removed in 3.12.
+ :deprecated:
+
+.. deprecated-removed:: 3.10 3.12
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.12 <whatsnew312-removed-distutils>` after
+being deprecated in Python 3.10. The removal was decided in :pep:`632`,
+which has `migration advice
+<https://peps.python.org/pep-0632/#migration-advice>`_.
+
+The last version of Python that provided the :mod:`!distutils` module was
+`Python 3.11 <https://docs.python.org/3.11/library/distutils.html>`_.
--- /dev/null
+:mod:`!imghdr` --- Determine the type of an image
+=================================================
+
+.. module:: imghdr
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+Possible replacements are third-party libraries from PyPI:
+:pypi:`filetype`, :pypi:`puremagic`, or :pypi:`python-magic`.
+These are not supported or maintained by the Python core team.
+
+The last version of Python that provided the :mod:`!imghdr` module was
+`Python 3.12 <https://docs.python.org/3.12/library/imghdr.html>`_.
--- /dev/null
+:mod:`!imp` --- Access the import internals
+===========================================
+
+.. module:: imp
+ :synopsis: Removed in 3.12.
+ :deprecated:
+
+.. deprecated-removed:: 3.4 3.12
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.12 <whatsnew312-removed-imp>` after
+being deprecated in Python 3.4.
+
+The :ref:`removal notice <whatsnew312-removed-imp>` includes guidance for
+migrating code from :mod:`!imp` to :mod:`importlib`.
+
+The last version of Python that provided the :mod:`!imp` module was
+`Python 3.11 <https://docs.python.org/3.11/library/imp.html>`_.
unix.rst
cmdline.rst
superseded.rst
+ removed.rst
security_warnings.rst
--- /dev/null
+:mod:`!mailcap` --- Mailcap file handling
+=========================================
+
+.. module:: mailcap
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!mailcap` module was
+`Python 3.12 <https://docs.python.org/3.12/library/mailcap.html>`_.
--- /dev/null
+:mod:`!msilib` --- Read and write Microsoft Installer files
+===========================================================
+
+.. module:: msilib
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!msilib` module was
+`Python 3.12 <https://docs.python.org/3.12/library/msilib.html>`_.
--- /dev/null
+:mod:`!nis` --- Interface to Sun’s NIS (Yellow Pages)
+=====================================================
+
+.. module:: nis
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!nis` module was
+`Python 3.12 <https://docs.python.org/3.12/library/nis.html>`_.
--- /dev/null
+:mod:`!nntplib` --- NNTP protocol client
+========================================
+
+.. module:: nntplib
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!nntplib` module was
+`Python 3.12 <https://docs.python.org/3.12/library/nntplib.html>`_.
--- /dev/null
+:mod:`!ossaudiodev` --- Access to OSS-compatible audio devices
+==============================================================
+
+.. module:: ossaudiodev
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!ossaudiodev` module was
+`Python 3.12 <https://docs.python.org/3.12/library/ossaudiodev.html>`_.
--- /dev/null
+:mod:`!pipes` --- Interface to shell pipelines
+==============================================
+
+.. module:: pipes
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+Applications should use the :mod:`subprocess` module instead.
+
+The last version of Python that provided the :mod:`!pipes` module was
+`Python 3.12 <https://docs.python.org/3.12/library/pipes.html>`_.
--- /dev/null
+:tocdepth: 1
+
+.. _removed:
+
+***************
+Removed Modules
+***************
+
+The modules described in this chapter have been removed from the Python
+standard library. They are documented here to help people find replacements.
+
+
+.. toctree::
+ :maxdepth: 1
+
+ aifc.rst
+ asynchat.rst
+ asyncore.rst
+ audioop.rst
+ cgi.rst
+ cgitb.rst
+ chunk.rst
+ crypt.rst
+ distutils.rst
+ imghdr.rst
+ imp.rst
+ mailcap.rst
+ msilib.rst
+ nis.rst
+ nntplib.rst
+ ossaudiodev.rst
+ pipes.rst
+ smtpd.rst
+ sndhdr.rst
+ spwd.rst
+ sunau.rst
+ telnetlib.rst
+ uu.rst
+ xdrlib.rst
--- /dev/null
+:mod:`!smtpd` --- SMTP Server
+=============================
+
+.. module:: smtpd
+ :synopsis: Removed in 3.12.
+ :deprecated:
+
+.. deprecated-removed:: 3.6 3.12
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.12 <whatsnew312-removed>` after
+being deprecated in Python 3.6. The removal was decided in :pep:`594`.
+
+A possible replacement is the third-party :pypi:`aiosmtpd` library. This
+library is not maintained or supported by the Python core team.
+
+The last version of Python that provided the :mod:`!smtpd` module was
+`Python 3.11 <https://docs.python.org/3.11/library/smtpd.html>`_.
--- /dev/null
+:mod:`!sndhdr` --- Determine type of sound file
+===============================================
+
+.. module:: sndhdr
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+Possible replacements are third-party modules from PyPI:
+:pypi:`filetype`, :pypi:`puremagic`, or :pypi:`python-magic`.
+These are not supported or maintained by the Python core team.
+
+The last version of Python that provided the :mod:`!sndhdr` module was
+`Python 3.12 <https://docs.python.org/3.12/library/sndhdr.html>`_.
--- /dev/null
+:mod:`!spwd` --- The shadow password database
+=============================================
+
+.. module:: spwd
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+A possible replacement is the third-party library :pypi:`python-pam`.
+This library is not supported or maintained by the Python core team.
+
+The last version of Python that provided the :mod:`!spwd` module was
+`Python 3.12 <https://docs.python.org/3.12/library/spwd.html>`_.
--- /dev/null
+:mod:`!sunau` --- Read and write Sun AU files
+=============================================
+
+.. module:: sunau
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!sunau` module was
+`Python 3.12 <https://docs.python.org/3.12/library/sunau.html>`_.
--- /dev/null
+:mod:`!telnetlib` --- Telnet client
+===================================
+
+.. module:: telnetlib
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+Possible replacements are third-party libraries from PyPI: :pypi:`telnetlib3`
+or :pypi:`Exscript`. These are not supported or maintained by the Python core
+team.
+
+The last version of Python that provided the :mod:`!telnetlib` module was
+`Python 3.12 <https://docs.python.org/3.12/library/telnetlib.html>`_.
--- /dev/null
+:mod:`!uu` --- Encode and decode uuencode files
+===============================================
+
+.. module:: uu
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!uu` module was
+`Python 3.12 <https://docs.python.org/3.12/library/uu.html>`_.
--- /dev/null
+:mod:`!xdrlib` --- Encode and decode XDR data
+=============================================
+
+.. module:: xdrlib
+ :synopsis: Removed in 3.13.
+ :deprecated:
+
+.. deprecated-removed:: 3.11 3.13
+
+This module is no longer part of the Python standard library.
+It was :ref:`removed in Python 3.13 <whatsnew313-pep594>` after
+being deprecated in Python 3.11. The removal was decided in :pep:`594`.
+
+The last version of Python that provided the :mod:`!xdrlib` module was
+`Python 3.12 <https://docs.python.org/3.12/library/xdrlib.html>`_.
.. include:: ../deprecations/pending-removal-in-future.rst
+.. _whatsnew312-removed:
+
Removed
=======
* :class:`configparser.ConfigParser` no longer has a ``readfp`` method.
Use :meth:`~configparser.ConfigParser.read_file` instead.
+.. _whatsnew312-removed-distutils:
+
distutils
---------
* ``importlib.abc.Finder``, ``pkgutil.ImpImporter``, and ``pkgutil.ImpLoader``
have been removed. (Contributed by Barry Warsaw in :gh:`98040`.)
+.. _whatsnew312-removed-imp:
+
imp
---
--- /dev/null
+Added stub pages for removed modules explaining their removal, where to find
+replacements, and linking to the last Python version that supported them.
+Contributed by Ned Batchelder.