[C API] Move PyFrame_* API to <Python.h> (original) (raw)

Currently, getter functions of a Python frame object (PyFrameObject) are only accessible if the frameobject.h header is included explicitly. It's not documented in the frame doc: https://docs.python.org/dev/c-api/frame.html

In Python 3.11, the PyFrameObject structure was moved to the internal C API. Third party C extensions now must only use getter functions, as explained in What's New in Python 3.11: https://docs.python.org/dev/whatsnew/3.11.html#id6

Problem: functions like PyFrame_GetBack() requires to include frameobject.h. I propose to move these getter functions to Python.h (to pyframe.h in practice) to make these functions less special.

Linked PRs