Frame Objects
*************

type PyFrameObject
    * Part of the Stable ABI.*

   The C structure of the objects used to describe frame objects.

   The structure is not part of the C API.

   Changed in version 3.11: The structure moved to the internal C API
   headers.

The "PyEval_GetFrame()" and "PyThreadState_GetFrame()" functions can
be used to get a frame object.

See also Reflection.

PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)

   Get the *frame* next outer frame.

   Return a *strong reference*, or "NULL" if *frame* has no outer
   frame.

   *frame* must not be "NULL".

   New in version 3.9.

PyObject *PyFrame_GetBuiltins(PyFrameObject *frame)

   Get the *frame*'s "f_builtins" attribute.

   Return a *strong reference*. The result cannot be "NULL".

   *frame* must not be "NULL".

   New in version 3.11.

PyCodeObject *PyFrame_GetCode(PyFrameObject *frame)
    * Part of the Stable ABI since version 3.10.*

   Get the *frame* code.

   Return a *strong reference*.

   *frame* must not be "NULL". The result (frame code) cannot be
   "NULL".

   New in version 3.9.

PyObject *PyFrame_GetGenerator(PyFrameObject *frame)

   Get the generator, coroutine, or async generator that owns this
   frame, or "NULL" if this frame is not owned by a generator. Does
   not raise an exception, even if the return value is "NULL".

   Return a *strong reference*, or "NULL".

   *frame* must not be "NULL".

   New in version 3.11.

PyObject *PyFrame_GetGlobals(PyFrameObject *frame)

   Get the *frame*'s "f_globals" attribute.

   Return a *strong reference*. The result cannot be "NULL".

   *frame* must not be "NULL".

   New in version 3.11.

PyObject *PyFrame_GetLocals(PyFrameObject *frame)

   Get the *frame*'s "f_locals" attribute ("dict").

   Return a *strong reference*.

   *frame* must not be "NULL".

   New in version 3.11.

int PyFrame_GetLineNumber(PyFrameObject *frame)
    * Part of the Stable ABI since version 3.10.*

   Return the line number that *frame* is currently executing.

   *frame* must not be "NULL".
