gh-143331: Schedule to remove format "N" for Decimal (#143372)

This commit is contained in:
Semyon Moroz 2026-01-06 13:12:05 +00:00 committed by GitHub
parent efb4e6c733
commit dd750b3485
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 20 additions and 1 deletions

View File

@ -7,6 +7,8 @@ Deprecations
.. include:: pending-removal-in-3.17.rst
.. include:: pending-removal-in-3.18.rst
.. include:: pending-removal-in-3.19.rst
.. include:: pending-removal-in-3.20.rst

View File

@ -0,0 +1,9 @@
Pending removal in Python 3.18
------------------------------
* :mod:`decimal`:
* The non-standard and undocumented :class:`~decimal.Decimal` format
specifier ``'N'``, which is only supported in the :mod:`!decimal` module's
C implementation, has been deprecated since Python 3.13.
(Contributed by Serhiy Storchaka in :gh:`89902`.)

View File

@ -1861,6 +1861,7 @@ New Deprecations
* Deprecate the non-standard and undocumented :class:`~decimal.Decimal`
format specifier ``'N'``,
which is only supported in the :mod:`!decimal` module's C implementation.
Scheduled to be removed in Python 3.18.
(Contributed by Serhiy Storchaka in :gh:`89902`.)
* :mod:`dis`:
@ -2024,6 +2025,8 @@ New Deprecations
.. include:: ../deprecations/pending-removal-in-3.17.rst
.. include:: ../deprecations/pending-removal-in-3.18.rst
.. include:: ../deprecations/pending-removal-in-3.19.rst
.. include:: ../deprecations/pending-removal-in-3.20.rst

View File

@ -2718,6 +2718,8 @@ New deprecations
.. include:: ../deprecations/pending-removal-in-3.17.rst
.. include:: ../deprecations/pending-removal-in-3.18.rst
.. include:: ../deprecations/pending-removal-in-3.19.rst
.. include:: ../deprecations/pending-removal-in-3.20.rst

View File

@ -1171,6 +1171,8 @@ New deprecations
.. include:: ../deprecations/pending-removal-in-3.17.rst
.. include:: ../deprecations/pending-removal-in-3.18.rst
.. include:: ../deprecations/pending-removal-in-3.19.rst
.. include:: ../deprecations/pending-removal-in-3.20.rst

View File

@ -3764,7 +3764,8 @@ _decimal_Decimal___format___impl(PyObject *dec, PyTypeObject *cls,
if (size > 0 && fmt[size-1] == 'N') {
if (PyErr_WarnEx(PyExc_DeprecationWarning,
"Format specifier 'N' is deprecated", 1) < 0) {
"Format specifier 'N' is deprecated and "
"slated for removal in Python 3.18", 1) < 0) {
return NULL;
}
}