Abi3info
Programmatic access to Python's limited API and abi3 information
Install / Use
/learn @woodruffw/Abi3infoREADME
abi3info
abi3info exposes information about CPython's "limited API" (including the
stable ABI, called abi3) as a Python library.
Installation
abi3info is available via pip:
$ pip install abi3info
Usage
abi3info exposes limited API and stable ABI information in the form of a set of top-level dictionaries, namely:
import abi3info
abi3info.FEATURE_MACROS
abi3info.MACROS
abi3info.STRUCTS
abi3info.TYPEDEFS
abi3info.FUNCTIONS
abi3info.DATAS
Each of these is a mapping of a name (either as str or Symbol) to
a data model describing the kind of item (e.g. FeatureMacro or Function).
See the generated documentation for more details, including comprehensive type hints and explanations of each data model.
See also the stable_abi.toml file, taken from
the CPython sources, which describes each model and their semantics.
Examples
Get information about a particular function:
from abi3info import FUNCTIONS
from abi3info.models import Symbol
func = FUNCTIONS[Symbol("_Py_NegativeRefcount")]
print(func.symbol, func.added, func.ifdef, func.abi_only)
Get information about the feature macros that control the limited API:
from abi3info import FEATURE_MACROS
print([fm for fm in FEATURE_MACROS.values()])
Licensing
abi3info is licensed under the MIT license.
abi3info is partially generated from metadata retrieved from the CPython sources, which is licensed under the PSF license.
Related Skills
node-connect
349.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
109.7kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
109.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
349.7kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
