API and ABI Versioning¶
PY_VERSION_HEX is the Python version number encoded in a single integer.
For example if thePY_VERSION_HEX is set to0x030401a2, the underlyingversion information can be found by treating it as a 32 bit number inthe following manner:
Bytes
Bits (big endian order)
Meaning
1
1-8
PY_MAJOR_VERSION(the3in3.4.1a2)
2
9-16
PY_MINOR_VERSION(the4in3.4.1a2)
3
17-24
PY_MICRO_VERSION(the1in3.4.1a2)
4
25-28
PY_RELEASE_LEVEL(0xAfor alpha,0xBfor beta,0xCfor releasecandidate and0xFfor final), in thiscase it is alpha.
29-32
PY_RELEASE_SERIAL(the2in3.4.1a2, zero for final releases)
Thus3.4.1a2 is hexversion0x030401a2.
All the given macros are defined inInclude/patchlevel.h.