Версионирование 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.