STINNER Victor added the comment:
> See issue36346.
Oh, I failed to find this issue. Ok, I close mine as a duplicate.
--
resolution: -> duplicate
stage: -> resolved
status: open -> closed
superseder: -> Prepare for removing the legacy Unicode C API
Serhiy Storchaka added the comment:
See issue36346.
First we need to add compile-time deprecation warnings to all C API. Then add
runtime deprecation warnings. And since this is a major compatibility breakage,
it can take longer deprecation period.
--
Inada Naoki added the comment:
I want to remove them in 3.10 too.
If we chose the annual release cycle, I'm OK to postpone the removal to 3.11.
FWIW, ujson is apopular extension that uses these APIs.
But it is not maintained for a long time, and there are many alternative JSON
libraries.
STINNER Victor added the comment:
A preleminary step was to modify PyUnicode_AsWideChar() and
PyUnicode_AsWideCharString() to remove the internal caching: it has been done
in Python 3.8.0 with bpo-30863.
--
nosy: +inada.naoki, serhiy.storchaka
STINNER Victor added the comment:
> (Right now) write an exhaustive list of all deprecated APIs: functions,
> constants, types, etc.
I searched "4.0" in the documentation:
* Py_UNICODE type
* array.array: "u" type
* PyArg_ParseTuple, Py_BuildValue: "u", "u#", "Z", "Z#" formats
*
New submission from STINNER Victor :
Python 3.3 deprecated the C API functions using Py_UNICODE type. Examples in
the doc:
* https://docs.python.org/dev/c-api/unicode.html#c.Py_UNICODE
* https://docs.python.org/dev/c-api/unicode.html#deprecated-py-unicode-apis
Currently, functions removal is