Skip to main content

A library for abi3 and other CPython API information

Project description

abi3info

CI PyPI version

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.

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-2025.11.29.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

abi3info-2025.11.29-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file abi3info-2025.11.29.tar.gz.

File metadata

  • Download URL: abi3info-2025.11.29.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for abi3info-2025.11.29.tar.gz
Algorithm Hash digest
SHA256 dd96754872211f96ed6955d47e725bdc579e581dd1705d581923270f825d1318
MD5 eaf347d09267abc61197a151a1259bbf
BLAKE2b-256 4e6262ba2670d5edf6d658b22ff1dc788bf146c22a73f12627d485f6c290cd6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for abi3info-2025.11.29.tar.gz:

Publisher: release.yml on woodruffw/abi3info

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file abi3info-2025.11.29-py3-none-any.whl.

File metadata

  • Download URL: abi3info-2025.11.29-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for abi3info-2025.11.29-py3-none-any.whl
Algorithm Hash digest
SHA256 75343a1d3eb662db4e20fe057fcd7bfc5b66e25aa6abf9cf5e90f70014151ebe
MD5 b3151c3d4971d17a7329928b2c07739e
BLAKE2b-256 8ba4b0c4c553b2ca389e0f135878e70fe9de05d86f4ec978d48c6580aead844a

See more details on using hashes here.

Provenance

The following attestation bundles were made for abi3info-2025.11.29-py3-none-any.whl:

Publisher: release.yml on woodruffw/abi3info

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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