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:

BytesBits (big endian order)Meaning
11-8PY_MAJOR_VERSION (the3 in3.4.1a2)
29-16PY_MINOR_VERSION (the4 in3.4.1a2)
317-24PY_MICRO_VERSION (the1 in3.4.1a2)
425-28PY_RELEASE_LEVEL (0xA for alpha,0xB for beta,0xC for releasecandidate and0xF for final), in thiscase it is alpha.
 29-32PY_RELEASE_SERIAL (the2 in3.4.1a2, zero for final releases)

Thus3.4.1a2 is hexversion0x030401a2.

All the given macros are defined inInclude/patchlevel.h.