Skip to content

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

Description

@ncoghlan

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.

Linked PRs

Activity

  1. added
    interpreter-core(Objects, Python, Grammar, and Parser dirs)
    triagedThe issue has been accepted as valid by a triager.
    3.14bugs and security fixes
    on Oct 9, 2024
  2. gpshead commented on Oct 16, 2024

    @gpshead
    Member

    (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)

  3. xuantengh commented on Nov 6, 2024

    @xuantengh
    Contributor

    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?

  4. vstinner commented on Dec 6, 2024

    @vstinner
    Member

    By the way, would it be possible to soft-deprecate or hard-deprecate PyFrame_FastToLocals(), PyFrame_FastToLocalsWithError() and PyFrame_LocalsToFast()?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

3.14bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)topic-C-APItriagedThe issue has been accepted as valid by a triager.

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions