python / cpython

The Python programming language
https://www.python.org
Other
63.7k stars 30.52k forks source link

PEP 667 follow-up: hard deprecate `PyEval_GetLocals()` #125170

Open ncoghlan opened 1 month ago

ncoghlan commented 1 month ago

During the lead up to the 3.13.0 release, the SC approved an amendment to PEP 667 that escalates Python 3.13's soft deprecation for PyEval_GetLocals() to a hard deprecation in 3.14 for eventual removal in 3.16 (the difficulties of keeping that API working in the face of the other implementation changes made the fundamental flaws in the way this API works more self-evident).

This ticket covers adding the hard deprecation to the C code and the expected removal version to the C API docs.

gpshead commented 1 month ago

(I assigned this to mark based on the comment pointing here but maybe this one isn't for mark specifically, feel free to un/reassign)

xuantengh commented 3 weeks ago

Hi I would like to kindly ask whether I can take this issue? To hard deprecate a function, we may need to warn a PyExc_DeprecationWarning and declare the function with Py_DEPRECATED?