Skip to content
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
make them in bullets
  • Loading branch information
littlebutt committed Jul 22, 2023
commit 8119955f2e82aa04e6280523d32ddcdad959e797
55 changes: 20 additions & 35 deletions Doc/whatsnew/3.13.rst
Original file line number Diff line number Diff line change
Expand Up @@ -150,61 +150,46 @@ Optimizations
Deprecated
==========

array
------

* :mod:`array`'s ``'u'`` format code, deprecated in docs since Python 3.3,
* :mod:`array`: :mod:`array`'s ``'u'`` format code, deprecated in docs since Python 3.3,
emits :exc:`DeprecationWarning` since 3.13
and will be removed in Python 3.16.
Use the ``'w'`` format code instead.
(contributed by Hugo van Kemenade in :gh:`80480`)

ctypes
------

* Deprecate undocumented :func:`!ctypes.SetPointerType`
* :mod:`ctypes`: Deprecate undocumented :func:`!ctypes.SetPointerType`
and :func:`!ctypes.ARRAY` functions.
Replace ``ctypes.ARRAY(item_type, size)`` with ``item_type * size``.
(Contributed by Victor Stinner in :gh:`105733`.)

getopt&optparse
------

* The :mod:`getopt` and :mod:`optparse` modules are now
* :mod:`getopt` and :mod:`optparse` modules: They are now
:term:`soft deprecated`: the :mod:`argparse` should be used for new projects.
Previously, the :mod:`optparse` module was already deprecated, its removal
was not scheduled, and no warnings was emitted: so there is no change in
practice.
(Contributed by Victor Stinner in :gh:`106535`.)

typing
------

* Creating a :class:`typing.NamedTuple` class using keyword arguments to denote
* :mod:`typing`: Creating a :class:`typing.NamedTuple` class using keyword arguments to denote
the fields (``NT = NamedTuple("NT", x=int, y=int)``) is deprecated, and will
be disallowed in Python 3.15. Use the class-based syntax or the functional
syntax instead. (Contributed by Alex Waygood in :gh:`105566`.)

* When using the functional syntax to create a :class:`typing.NamedTuple`
class or a :class:`typing.TypedDict` class, failing to pass a value to the
'fields' parameter (``NT = NamedTuple("NT")`` or ``TD = TypedDict("TD")``) is
deprecated. Passing ``None`` to the 'fields' parameter
(``NT = NamedTuple("NT", None)`` or ``TD = TypedDict("TD", None)``) is also
deprecated. Both will be disallowed in Python 3.15. To create a NamedTuple
class with 0 fields, use ``class NT(NamedTuple): pass`` or
``NT = NamedTuple("NT", [])``. To create a TypedDict class with 0 fields, use
``class TD(TypedDict): pass`` or ``TD = TypedDict("TD", {})``.
(Contributed by Alex Waygood in :gh:`105566` and :gh:`105570`.)

* :func:`typing.no_type_check_decorator` is deprecated, and scheduled for
removal in Python 3.15. After eight years in the :mod:`typing` module, it
has yet to be supported by any major type checkers.
(Contributed by Alex Waygood in :gh:`106309`.)

wave
------
* When using the functional syntax to create a :class:`typing.NamedTuple`
class or a :class:`typing.TypedDict` class, failing to pass a value to the
'fields' parameter (``NT = NamedTuple("NT")`` or ``TD = TypedDict("TD")``) is
deprecated. Passing ``None`` to the 'fields' parameter
(``NT = NamedTuple("NT", None)`` or ``TD = TypedDict("TD", None)``) is also
deprecated. Both will be disallowed in Python 3.15. To create a NamedTuple
class with 0 fields, use ``class NT(NamedTuple): pass`` or
``NT = NamedTuple("NT", [])``. To create a TypedDict class with 0 fields, use
``class TD(TypedDict): pass`` or ``TD = TypedDict("TD", {})``.
(Contributed by Alex Waygood in :gh:`105566` and :gh:`105570`.)

* :func:`typing.no_type_check_decorator` is deprecated, and scheduled for
removal in Python 3.15. After eight years in the :mod:`typing` module, it
has yet to be supported by any major type checkers.
(Contributed by Alex Waygood in :gh:`106309`.)

* Deprecate the ``getmark()``, ``setmark()`` and ``getmarkers()``
* :mod:`wave`: Deprecate the ``getmark()``, ``setmark()`` and ``getmarkers()``
methods of the :class:`wave.Wave_read` and :class:`wave.Wave_write` classes.
They will be removed in Python 3.15.
(Contributed by Victor Stinner in :gh:`105096`.)
Expand Down