summaryrefslogtreecommitdiff
path: root/devdocs/python~3.12/c-api%2Fframe.html
diff options
context:
space:
mode:
Diffstat (limited to 'devdocs/python~3.12/c-api%2Fframe.html')
-rw-r--r--devdocs/python~3.12/c-api%2Fframe.html60
1 files changed, 60 insertions, 0 deletions
diff --git a/devdocs/python~3.12/c-api%2Fframe.html b/devdocs/python~3.12/c-api%2Fframe.html
new file mode 100644
index 00000000..b842a9e6
--- /dev/null
+++ b/devdocs/python~3.12/c-api%2Fframe.html
@@ -0,0 +1,60 @@
+ <h1>Frame Objects</h1> <dl class="c type"> <dt class="sig sig-object c" id="c.PyFrameObject">
+<code>type PyFrameObject</code> </dt> <dd>
+<em class="stableabi"> Part of the <a class="reference internal" href="stable#stable"><span class="std std-ref">Limited API</span></a> (as an opaque struct).</em><p>The C structure of the objects used to describe frame objects.</p> <p>There are no public members in this structure.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 3.11: </span>The members of this structure were removed from the public C API. Refer to the <a class="reference internal" href="https://docs.python.org/3.12/whatsnew/3.11.html#pyframeobject-3-11-hiding"><span class="std std-ref">What’s New entry</span></a> for details.</p> </div> </dd>
+</dl> <p>The <a class="reference internal" href="reflection#c.PyEval_GetFrame" title="PyEval_GetFrame"><code>PyEval_GetFrame()</code></a> and <a class="reference internal" href="init#c.PyThreadState_GetFrame" title="PyThreadState_GetFrame"><code>PyThreadState_GetFrame()</code></a> functions can be used to get a frame object.</p> <p>See also <a class="reference internal" href="reflection#reflection"><span class="std std-ref">Reflection</span></a>.</p> <dl class="c var"> <dt class="sig sig-object c" id="c.PyFrame_Type">
+<code>PyTypeObject PyFrame_Type</code> </dt> <dd>
+<p>The type of frame objects. It is the same object as <a class="reference internal" href="../library/types#types.FrameType" title="types.FrameType"><code>types.FrameType</code></a> in the Python layer.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 3.11: </span>Previously, this type was only available after including <code>&lt;frameobject.h&gt;</code>.</p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_Check">
+<code>int PyFrame_Check(PyObject *obj)</code> </dt> <dd>
+<p>Return non-zero if <em>obj</em> is a frame object.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 3.11: </span>Previously, this function was only available after including <code>&lt;frameobject.h&gt;</code>.</p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetBack">
+<code>PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)</code> </dt> <dd>
+<p>Get the <em>frame</em> next outer frame.</p> <p>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a>, or <code>NULL</code> if <em>frame</em> has no outer frame.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.9.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetBuiltins">
+<code>PyObject *PyFrame_GetBuiltins(PyFrameObject *frame)</code> </dt> <dd>
+<p>Get the <em>frame</em>’s <a class="reference internal" href="../reference/datamodel#frame.f_builtins" title="frame.f_builtins"><code>f_builtins</code></a> attribute.</p> <p>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a>. The result cannot be <code>NULL</code>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.11.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetCode">
+<code>PyCodeObject *PyFrame_GetCode(PyFrameObject *frame)</code> </dt> <dd>
+<em class="stableabi"> Part of the <a class="reference internal" href="stable#stable"><span class="std std-ref">Stable ABI</span></a> since version 3.10.</em><p>Get the <em>frame</em> code.</p> <p>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a>.</p> <p>The result (frame code) cannot be <code>NULL</code>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.9.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetGenerator">
+<code>PyObject *PyFrame_GetGenerator(PyFrameObject *frame)</code> </dt> <dd>
+<p>Get the generator, coroutine, or async generator that owns this frame, or <code>NULL</code> if this frame is not owned by a generator. Does not raise an exception, even if the return value is <code>NULL</code>.</p> <p>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a>, or <code>NULL</code>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.11.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetGlobals">
+<code>PyObject *PyFrame_GetGlobals(PyFrameObject *frame)</code> </dt> <dd>
+<p>Get the <em>frame</em>’s <a class="reference internal" href="../reference/datamodel#frame.f_globals" title="frame.f_globals"><code>f_globals</code></a> attribute.</p> <p>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a>. The result cannot be <code>NULL</code>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.11.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetLasti">
+<code>int PyFrame_GetLasti(PyFrameObject *frame)</code> </dt> <dd>
+<p>Get the <em>frame</em>’s <a class="reference internal" href="../reference/datamodel#frame.f_lasti" title="frame.f_lasti"><code>f_lasti</code></a> attribute.</p> <p>Returns -1 if <code>frame.f_lasti</code> is <code>None</code>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.11.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetVar">
+<code>PyObject *PyFrame_GetVar(PyFrameObject *frame, PyObject *name)</code> </dt> <dd>
+<p>Get the variable <em>name</em> of <em>frame</em>.</p> <ul class="simple"> <li>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a> to the variable value on success.</li> <li>Raise <a class="reference internal" href="../library/exceptions#NameError" title="NameError"><code>NameError</code></a> and return <code>NULL</code> if the variable does not exist.</li> <li>Raise an exception and return <code>NULL</code> on error.</li> </ul> <p><em>name</em> type must be a <a class="reference internal" href="../library/stdtypes#str" title="str"><code>str</code></a>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.12.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetVarString">
+<code>PyObject *PyFrame_GetVarString(PyFrameObject *frame, const char *name)</code> </dt> <dd>
+<p>Similar to <a class="reference internal" href="#c.PyFrame_GetVar" title="PyFrame_GetVar"><code>PyFrame_GetVar()</code></a>, but the variable name is a C string encoded in UTF-8.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.12.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetLocals">
+<code>PyObject *PyFrame_GetLocals(PyFrameObject *frame)</code> </dt> <dd>
+<p>Get the <em>frame</em>’s <a class="reference internal" href="../reference/datamodel#frame.f_locals" title="frame.f_locals"><code>f_locals</code></a> attribute (<a class="reference internal" href="../library/stdtypes#dict" title="dict"><code>dict</code></a>).</p> <p>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.11.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyFrame_GetLineNumber">
+<code>int PyFrame_GetLineNumber(PyFrameObject *frame)</code> </dt> <dd>
+<em class="stableabi"> Part of the <a class="reference internal" href="stable#stable"><span class="std std-ref">Stable ABI</span></a> since version 3.10.</em><p>Return the line number that <em>frame</em> is currently executing.</p> </dd>
+</dl> <section id="internal-frames"> <h2>Internal Frames</h2> <p>Unless using <span class="target" id="index-0"></span><a class="pep reference external" href="https://peps.python.org/pep-0523/"><strong>PEP 523</strong></a>, you will not need this.</p> <dl class="c struct"> <dt class="sig sig-object c" id="c._PyInterpreterFrame">
+<code>struct _PyInterpreterFrame</code> </dt> <dd>
+<p>The interpreter’s internal frame representation.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.11.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyUnstable_InterpreterFrame_GetCode">
+<code>PyObject *PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame);</code> </dt> <dd>
+<div class="unstable-c-api warning admonition"> <em>This is <a class="reference internal" href="stable#unstable-c-api"><span class="std std-ref">Unstable API</span></a>. It may change without warning in minor releases.</em>
+</div> <p>Return a <a class="reference internal" href="../glossary#term-strong-reference"><span class="xref std std-term">strong reference</span></a> to the code object for the frame.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.12.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyUnstable_InterpreterFrame_GetLasti">
+<code>int PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame);</code> </dt> <dd>
+<div class="unstable-c-api warning admonition"> <em>This is <a class="reference internal" href="stable#unstable-c-api"><span class="std std-ref">Unstable API</span></a>. It may change without warning in minor releases.</em>
+</div> <p>Return the byte offset into the last executed instruction.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.12.</span></p> </div> </dd>
+</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyUnstable_InterpreterFrame_GetLine">
+<code>int PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame);</code> </dt> <dd>
+<div class="unstable-c-api warning admonition"> <em>This is <a class="reference internal" href="stable#unstable-c-api"><span class="std std-ref">Unstable API</span></a>. It may change without warning in minor releases.</em>
+</div> <p>Return the currently executing line number, or -1 if there is no line number.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.12.</span></p> </div> </dd>
+</dl> </section> <div class="_attribution">
+ <p class="_attribution-p">
+ &copy; 2001&ndash;2023 Python Software Foundation<br>Licensed under the PSF License.<br>
+ <a href="https://docs.python.org/3.12/c-api/frame.html" class="_attribution-link">https://docs.python.org/3.12/c-api/frame.html</a>
+ </p>
+</div>