A library for abi3 and other CPython API information
abi3info exposes information about CPython's "limited API" (including the
stable ABI, called
abi3) as a Python library.
abi3info is available via
$ pip install abi3info
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
a data model describing the kind of item (e.g.
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.
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())
abi3info is licensed under the MIT license.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.