skillfed

executing

Get the currently executing AST node of a frame, and other information

executing Permissive license MIT Active 400 v2.2.1 released

Install

executing on PyPI

pip

pip install executing

uv

uv add executing

poetry

poetry add executing

Package 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

License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

About executing

from the package's own PyPI description — quoted content, verbatim

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
ast node from framecurrent executing statementframe introspectionbytecode to ast mappingtraceback node identificationpython execution inspectionget executing code node

Similar packages