Управление версиями API и ABI

PY_VERSION_HEX — это номер версии Python, закодированный одним целым числом.

Например, если для PY_VERSION_HEX установлено значение 0x030401a2, информацию о базовой версии можно найти, рассматривая её как 32-битное число следующим образом:

Байты Биты (прямой порядок байтов) Значение
1 1-8 PY_MAJOR_VERSION (3 в 3.4.1a2)
2 9-16 PY_MINOR_VERSION (4 в 3.4.1a2)
3 17-24 PY_MICRO_VERSION (1 в 3.4.1a2)
4 25-28 PY_RELEASE_LEVEL (0xA для альфа, 0xB для бета, 0xC для релиз кандидата и 0xF для финального), в этом случае альфа.
  29-32 PY_RELEASE_SERIAL (2 в 3.4.1a2, ноль для финальных релизов)

Таким образом, 3.4.1a2 — это шестнадцатеричная версия 0x030401a2.

Все указанные макросы определены в Include/patchlevel.h.