Skip to content

gh-109975: What's new in 3.13: Add PEP 594 to release highlights #110993

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Oct 22, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Sort PEP 594 modules
  • Loading branch information
hugovk committed Oct 17, 2023
commit eb8c0b21124f1e1d27edc3369a5fe83b907cb129
101 changes: 50 additions & 51 deletions Doc/whatsnew/3.13.rst
Original file line number Diff line number Diff line change
Expand Up @@ -691,12 +691,16 @@ Removed
PEP 594: dead batteries
-----------------------

* :pep:`594`: Removed 19 modules from the standard library,
* :pep:`594` removed 19 modules from the standard library,
deprecated in Python 3.11:

* :mod:`!telnetlib`, :use the projects
`telnetlib3 <https://pypi.org/project/telnetlib3/>`_ or
`Exscript <https://pypi.org/project/Exscript/>`_ instead.
* :mod:`!aifc`.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!audioop`.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!chunk`.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!cgi` and :mod:`!cgitb`.
Expand All @@ -711,11 +715,6 @@ PEP 594: dead batteries
directly on the desired query string, except for ``multipart/form-data``
input, which can be handled as described for ``cgi.parse_multipart()``.

* ``cgi.parse_multipart()`` can be replaced with the functionality in the
:mod:`email` package (e.g. :class:`email.message.EmailMessage` and
:class:`email.message.Message`) which implements the same MIME RFCs, or
with the `multipart <https://pypi.org/project/multipart/>`__ PyPI project.

* ``cgi.parse_header()`` can be replaced with the functionality in the
:mod:`email` package, which implements the same MIME RFCs. For example,
with :class:`email.message.EmailMessage`::
Expand All @@ -725,79 +724,79 @@ PEP 594: dead batteries
msg['content-type'] = 'application/json; charset="utf8"'
main, params = msg.get_content_type(), msg['content-type'].params

(Contributed by Victor Stinner in :gh:`104773`.)
* ``cgi.parse_multipart()`` can be replaced with the functionality in the
:mod:`email` package (e.g. :class:`email.message.EmailMessage` and
:class:`email.message.Message`) which implements the same MIME RFCs, or
with the `multipart <https://pypi.org/project/multipart/>`__ PyPI project.

* :mod:`!sndhdr`: use the projects
`filetype <https://pypi.org/project/filetype/>`_,
`puremagic <https://pypi.org/project/puremagic/>`_, or
`python-magic <https://pypi.org/project/python-magic/>`_ instead.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!pipes`: use the :mod:`subprocess` module instead.
(Contributed by Victor Stinner in :gh:`104773`.)
* :mod:`!crypt` module and its private :mod:`!_crypt` extension.
The :mod:`hashlib` module is a potential replacement for certain use cases.
Otherwise, the following PyPI projects can be used:

* :mod:`!ossaudiodev`: use the
`pygame project <https://www.pygame.org/>`_ for audio playback.
(Contributed by Victor Stinner in :gh:`104780`.)
* `bcrypt <https://pypi.org/project/bcrypt/>`_:
Modern password hashing for your software and your servers.
* `passlib <https://pypi.org/project/passlib/>`_:
Comprehensive password hashing framework supporting over 30 schemes.
* `argon2-cffi <https://pypi.org/project/argon2-cffi/>`_:
The secure Argon2 password hashing algorithm.
* `legacycrypt <https://pypi.org/project/legacycrypt/>`_:
Wrapper to the POSIX crypt library call and associated functionality.

* :mod:`!sunau`.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!imghdr`: use the projects
`filetype <https://pypi.org/project/filetype/>`_,
`puremagic <https://pypi.org/project/puremagic/>`_,
or `python-magic <https://pypi.org/project/python-magic/>`_ instead.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!mailcap`.
The :mod:`mimetypes` module provides an alternative.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!spwd`:
the `python-pam project <https://pypi.org/project/python-pam/>`_
can be used instead.
* :mod:`!msilib`.
(Contributed by Zachary Ware in :gh:`104773`.)

* :mod:`!nis`.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!nntplib`:
the `PyPI nntplib project <https://pypi.org/project/nntplib/>`_
can be used instead.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!nis`.
(Contributed by Victor Stinner in :gh:`104773`.)
* :mod:`!ossaudiodev`: use the
`pygame project <https://www.pygame.org/>`_ for audio playback.
(Contributed by Victor Stinner in :gh:`104780`.)

* :mod:`!xdrlib`.
* :mod:`!pipes`: use the :mod:`subprocess` module instead.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!msilib`.
(Contributed by Zachary Ware in :gh:`104773`.)

* :mod:`!crypt` module and its private :mod:`!_crypt` extension.
The :mod:`hashlib` module is a potential replacement for certain use cases.
Otherwise, the following PyPI projects can be used:

* `bcrypt <https://pypi.org/project/bcrypt/>`_:
Modern password hashing for your software and your servers.
* `passlib <https://pypi.org/project/passlib/>`_:
Comprehensive password hashing framework supporting over 30 schemes.
* `argon2-cffi <https://pypi.org/project/argon2-cffi/>`_:
The secure Argon2 password hashing algorithm.
* `legacycrypt <https://pypi.org/project/legacycrypt/>`_:
Wrapper to the POSIX crypt library call and associated functionality.

* :mod:`!sndhdr`: use the projects
`filetype <https://pypi.org/project/filetype/>`_,
`puremagic <https://pypi.org/project/puremagic/>`_, or
`python-magic <https://pypi.org/project/python-magic/>`_ instead.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!uu`: the :mod:`base64` module is a modern alternative.
* :mod:`!spwd`:
the `python-pam project <https://pypi.org/project/python-pam/>`_
can be used instead.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!aifc`.
* :mod:`!sunau`.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!audioop`.
* :mod:`!telnetlib`, use the projects
`telnetlib3 <https://pypi.org/project/telnetlib3/>`_ or
`Exscript <https://pypi.org/project/Exscript/>`_ instead.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!chunk`.
* :mod:`!uu`: the :mod:`base64` module is a modern alternative.
(Contributed by Victor Stinner in :gh:`104773`.)

* :mod:`!imghdr`:
use the projects
`filetype <https://pypi.org/project/filetype/>`_,
`puremagic <https://pypi.org/project/puremagic/>`_,
or `python-magic <https://pypi.org/project/python-magic/>`_ instead.
* :mod:`!xdrlib`.
(Contributed by Victor Stinner in :gh:`104773`.)

* Remove support for the keyword-argument method of creating
Expand Down
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy