API- und ABI-Versionierung
**************************

CPython exposes its version number in the following macros. Note that
these correspond to the version code is **built** with, not
necessarily the version used at **run time**.

Eine Erörterung der API- und ABI-Stabilität über verschiedene
Versionen hinweg findest du unter C API Stability.

PY_MAJOR_VERSION

   Die  "3"  unter "3.4.1a2".

PY_MINOR_VERSION

   Die  "4"  unter "3.4.1a2".

PY_MICRO_VERSION

   Die "1"  unter "3.4.1a2".

PY_RELEASE_LEVEL

   Die  "a"  unter "3.4.1a2". Dies kann "0xA" für die Alpha-Version,
   "0xB" für die Beta-Version, "0xC" für den Release Candidate oder
   "0xF" für die finale Version sein.

PY_RELEASE_SERIAL

   Die  "2"  unter "3.4.1a2". Keine für endgültige Veröffentlichungen.

PY_VERSION_HEX

   The Python version number encoded in a single integer.

   The underlying version information can be found by treating it as a
   32 bit number in the following manner:

   +---------+---------------------------+---------------------------+----------------------------+
   | Bytes   | Bits (big endian order)   | Meaning                   | Value for "3.4.1a2"        |
   |=========|===========================|===========================|============================|
   | 1       | 1-8                       | "PY_MAJOR_VERSION"        | "0x03"                     |
   +---------+---------------------------+---------------------------+----------------------------+
   | 2       | 9-16                      | "PY_MINOR_VERSION"        | "0x04"                     |
   +---------+---------------------------+---------------------------+----------------------------+
   | 3       | 17-24                     | "PY_MICRO_VERSION"        | "0x01"                     |
   +---------+---------------------------+---------------------------+----------------------------+
   | 4       | 25-28                     | "PY_RELEASE_LEVEL"        | "0xA"                      |
   |         +---------------------------+---------------------------+----------------------------+
   |         | 29-32                     | "PY_RELEASE_SERIAL"       | "0x2"                      |
   +---------+---------------------------+---------------------------+----------------------------+

   Thus "3.4.1a2" is hexversion "0x030401a2" and "3.10.0" is
   hexversion "0x030a00f0".

   Use this for numeric comparisons, e.g. "#if PY_VERSION_HEX >= ...".

   This version is also available via the symbol "Py_Version".

const unsigned long Py_Version
    * Teil der Stable ABI seit Version 3.11.*

   The Python runtime version number encoded in a single constant
   integer, with the same format as the "PY_VERSION_HEX" macro. This
   contains the Python version used at run time.

   Added in version 3.11.

All the given macros are defined in Include/patchlevel.h.
