Version des API et ABI

CPython révèle son numéro de version dans les macros suivantes. À noter qu'ils correspondent au code de la version compilée avec, pas nécessairement la version utilisée à l'exécution.

Voir Stabilité de l’API C pour une discussion sur la stabilité des API et ABI entre (ou en fonction) de la version.

PY_MAJOR_VERSION

Le 3 dans 3.4.1a2.)

PY_MINOR_VERSION

Le 4 dans 3.4.1a2.

PY_MICRO_VERSION

Le 1 dans 3.4.1a2.)

PY_RELEASE_LEVEL

The a in 3.4.1a2. This can be 0xA for alpha, 0xB for beta, 0xC for release candidate or 0xF for final.

PY_RELEASE_SERIAL

Le 2 dans 3.4.1a2. Nul pour des versions finales.

PY_VERSION_HEX

Le numéro de version de Python encodé en un seul entier.

L'information sur la version sous-jacente peut être trouvée en la traitant comme un nombre sous 32 bits de la manière suivante:

Bytes

Bits (ordre gros-boutiste)

Signification

Valeur pour 3.4.1a2

1

1-8

PY_MAJOR_VERSION

0x03

2

9-16

PY_MINOR_VERSION

0x04

3

17-24

PY_MICRO_VERSION

0x01

4

25-28

PY_RELEASE_LEVEL

0xA

29-32

PY_RELEASE_SERIAL

0x2

Ainsi, 0x030401a2 est la version en notation hexadécimale sur un entier de 3.4.1a2 et 0x030a00f0 est la version en notation hexadécimale sur un entier de 3.10.0

Toutes les macros données sont définies dans Include/patchlevel.h.