Skip to main content

A library for abi3 and other CPython API information

Project description


CI PyPI version

abi3info exposes information about CPython's "limited API" (including the stable ABI, called abi3) as a Python library.


abi3info is available via pip:

$ pip install abi3info


abi3info exposes limited API and stable ABI information in the form of a set of top-level dictionaries, namely:

import abi3info


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.


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.

abi3info is partially generated from metadata retrieved from the CPython sources, which is licensed under the PSF license.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abi3info-2023.3.20.tar.gz (18.8 kB view hashes)

Uploaded Source

Built Distribution

abi3info-2023.3.20-py3-none-any.whl (18.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page