PEP 594: Update 1.5 (#1068)

* Fix markup for wave section

* Add estimated EOL for 3.9

* mention pynntp and why getopt and wave stay

* Add Ned's suggestion
This commit is contained in:
Christian Heimes 2019-05-21 16:00:46 +02:00 committed by GitHub
parent 933fbf8626
commit 2d536899f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 36 additions and 14 deletions

View File

@ -99,6 +99,11 @@ Starting with Python 3.9, deprecated modules will start issuing
`DeprecationWarning`. The `parser`_ module is removed and potentially `DeprecationWarning`. The `parser`_ module is removed and potentially
replaced with a new module. replaced with a new module.
All other deprecated modules are fully supported and will receive security
updates until Python 3.9 reaches its end of lifetime. Python 3.9.0 will
be released about 18 months after 3.8.0 (April 2021?) and most likely
be supported for 5 years after the release. The estimated EOL of Python 3.9
is in 2026.
3.10 3.10
---- ----
@ -493,7 +498,9 @@ groups used to be a dominant platform for online discussions. Over the last
two decades, news has been slowly but steadily replaced with mailing lists two decades, news has been slowly but steadily replaced with mailing lists
and web-based discussion platforms. Twisted is also and web-based discussion platforms. Twisted is also
`planning <https://twistedmatrix.com/trac/ticket/9405>`_ to deprecate NNTP `planning <https://twistedmatrix.com/trac/ticket/9405>`_ to deprecate NNTP
support. support and `pynnt <https://github.com/greenbender/pynntp>`_ hasn't seen any
activity since 2014. This is a good indicator that the public interest in
NNTP support is declining.
The ``nntplib`` tests have been the cause of additional work in the recent The ``nntplib`` tests have been the cause of additional work in the recent
past. Python only contains client side of NNTP. The tests connect to past. Python only contains client side of NNTP. The tests connect to
@ -773,8 +780,11 @@ getopt
------ ------
The `getopt <https://docs.python.org/3/library/getopt.html>`_ module mimics The `getopt <https://docs.python.org/3/library/getopt.html>`_ module mimics
C's getopt() option parser. Although users are encouraged to use argparse C's getopt() option parser.
instead, the getopt module is still widely used.
Although users are encouraged to use argparse instead, the getopt module is
still widely used. The module is small, simple, and handy for C developers
to write simple Python scripts.
Module type Module type
pure Python pure Python
@ -785,8 +795,10 @@ optparse
-------- --------
The `optparse <https://docs.python.org/3/library/optparse.html>`_ module is The `optparse <https://docs.python.org/3/library/optparse.html>`_ module is
the predecessor of the argparse module. Although it has been deprecated for the predecessor of the argparse module.
many years, it's still widely used.
Although it has been deprecated for many years, it's still too widely used
to remove it.
Module type Module type
pure Python pure Python
@ -796,16 +808,21 @@ Substitute
argparse argparse
wave wave
~~~~ ----
The `wave <https://docs.python.org/3/library/wave.html>`_ module provides The `wave <https://docs.python.org/3/library/wave.html>`_ module provides
support for the WAV sound format. The module uses one simple function support for the WAV sound format.
from the `audioop`_ module to perform byte swapping between little and big
endian formats. Before 24 bit WAV support was added, byte swap used to be The module is not deprecated, because The WAV format is still relevant these
implemented with the ``array`` module. To remove ``wave``'s dependency on the days. The ``wave`` module is also used in education, e.g. to show kids how
``audioop``, the byte swap function could be either be moved to another to make noise with a computer.
module (e.g. ``operator``) or the ``array`` module could gain support for
24 bit (3 byte) arrays. The module uses one simple function from the `audioop`_ module to perform
byte swapping between little and big endian formats. Before 24 bit WAV
support was added, byte swap used to be implemented with the ``array``
module. To remove ``wave``'s dependency on the ``audioop``, the byte swap
function could be either be moved to another module (e.g. ``operator``) or
the ``array`` module could gain support for 24 bit (3 byte) arrays.
Module type Module type
pure Python (depends on *byteswap* from `audioop`_ C extension) pure Python (depends on *byteswap* from `audioop`_ C extension)
@ -827,7 +844,10 @@ documentation may be moved into a new git repository, so community members
have a place from which they can pick up and fork code. have a place from which they can pick up and fork code.
A first draft of a `legacylib <https://github.com/tiran/legacylib>`_ A first draft of a `legacylib <https://github.com/tiran/legacylib>`_
repository is available on my private Github account. repository is available on my private Github account. The modules could be
made available on PyPI. The Python core team will not publish or maintain
the packages. It is my hope that members of the Python community will
adopt, maintain, and perhaps improve the deprecated modules.
It's my hope that some of the deprecated modules will be picked up and It's my hope that some of the deprecated modules will be picked up and
adopted by users that actually care about them. For example ``colorsys`` and adopted by users that actually care about them. For example ``colorsys`` and
@ -881,6 +901,8 @@ Update 1
list suitable substitutions. list suitable substitutions.
* Mention that ``socketserver`` is going to stay for ``http.server`` and * Mention that ``socketserver`` is going to stay for ``http.server`` and
``xmlrpc.server`` ``xmlrpc.server``
* The future maintenance section now states that the deprecated modules
may be adopted by Python community members.
References References
========== ==========