executing
Get the currently executing AST node of a frame, and other information
Install
executing on PyPI
pip
pip install executinguv
uv add executingpoetry
poetry add executingPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 346 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: executing-2.2.1-py2.py3-none-any.whl
About executing
from the package's own PyPI description — quoted content, verbatim
executing
Build Status (image) Coverage Status (image) Supports Python versions 3.5+, including PyPy (image)
This mini-package lets you get information about what a frame is currently doing, particularly the AST node being executed.
- Usage
- Installation
- How does it work?
- Is it reliable?
- Which nodes can it identify?
- Projects that use this
Usage
Getting the AST node
```python import...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Identifies the currently executing AST node within a Python stack frame, enabling introspection of what code is being run at any given moment.
Installation is straightforward with zero runtime dependencies and a pure-Python wheel. The package is actively maintained with recent releases and a healthy repository.
MIT license permits unrestricted use, modification, and distribution in both open and proprietary projects with minimal obligations.
Usage
import executing
node = executing.Source.executing(frame).node
if node:
print(type(node).__name__) # e.g., 'Call', 'Attribute', 'Subscript'
Requires Python 3.8 or later; frame introspection may fail for certain bytecode patterns and should always be checked for None.
Verdict: A lightweight, well-maintained utility for frame-level AST introspection with no dependencies, permissive licensing, and zero known vulnerabilities. Suitable for debugging tools, tracebacks, and introspection-based libraries.
Needs verification
- Whether the package's reliability claims about one-to-one node-to-instruction mapping hold across all Python 3.8–3.14 versions
- Performance characteristics when used on large codebases or in tight loops
Similar packages
permissive · top 1,000 on PyPI
pure-evalpermissive · top 1,000 on PyPI
sentry-sdkpermissive · top 1,000 on PyPI
stack-datapermissive · top 1,000 on PyPI
asttokenspermissive · top 1,000 on PyPI
eval-type-backportpermissive · top 1,000 on PyPI
crashtestpermissive · top 1,000 on PyPI
identifypermissive · top 1,000 on PyPI
google-pastapermissive · top 1,000 on PyPI
ipython-pygments-lexerspermissive · top 1,000 on PyPI