1
2/* Python version identification scheme.
3
4 When the major or minor version changes, the VERSION variable in
5 configure.ac must also be changed.
6
7 There is also (independent) API version information in modsupport.h.
8*/
9
10/* Values for PY_RELEASE_LEVEL */
11#define PY_RELEASE_LEVEL_ALPHA 0xA
12#define PY_RELEASE_LEVEL_BETA 0xB
13#define PY_RELEASE_LEVEL_GAMMA 0xC /* For release candidates */
14#define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */
15 /* Higher for patch releases */
16
17/* Version parsed out into numeric values */
18/*--start constants--*/
19#define PY_MAJOR_VERSION 3
20#define PY_MINOR_VERSION 10
21#define PY_MICRO_VERSION 12
22#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
23#define PY_RELEASE_SERIAL 0
24
25/* Version as a string */
26#define PY_VERSION "3.10.12"
27/*--end constants--*/
28
29/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
30 Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */
31#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \
32 (PY_MINOR_VERSION << 16) | \
33 (PY_MICRO_VERSION << 8) | \
34 (PY_RELEASE_LEVEL << 4) | \
35 (PY_RELEASE_SERIAL << 0))
36

source code of include/python3.10/patchlevel.h