API i wersjonowanie ABI
***********************

CPython (standardowa implementacja) ujawnia swój numer wersji w
następujących makrach. Należy pamiętać, że odpowiadają one kodowi
wersji, z którym został **zbudowany**, niekoniecznie wersji używanej w
**czasie działania**.

Więcej informacji na temat stabilności API i ABI w różnych wersjach
można znaleźć na stronie C API Stability.

PY_MAJOR_VERSION

   "3" w "3.4.1a2".

PY_MINOR_VERSION

   "4" w "3.4.1a2".

PY_MICRO_VERSION

   "1" w "3.4.1a2".

PY_RELEASE_LEVEL

   "a" w "3.4.1a2". Może to być "0xA" dla wersji alfa, "0xB" dla
   wersji beta, "0xC" dla wersji kandydującej do wydania lub "0xF" dla
   wersji finalnej.

PY_RELEASE_SERIAL

   "2" w "3.4.1a2". Zero dla ostatecznych wydań.

PY_VERSION_HEX

   Numer wersji Pythona zakodowany w pojedynczej liczbie całkowitej.

   Podstawowe informacje wersji można znaleźć, traktując je jako
   32-bitową liczbę w następujący sposób:

   +---------+---------------------------+---------------------------+----------------------------+
   | Bajty   | Bity (kolejność big       | Znaczenie                 | Wartość dla "3.4.1a2"      |
   |         | endian)                   |                           |                            |
   |=========|===========================|===========================|============================|
   | 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"                      |
   +---------+---------------------------+---------------------------+----------------------------+

   Tak więc "3.4.1a2" jest hekswersją "0x030401a2", a "3.10.0" jest
   hekswersją "0x030a00f0".

   Służy do porównywania liczb, np. "#if PY_VERSION_HEX >= ...".

   Ta strona wersji jest również dostępna za pośrednictwem symbolu
   "Py_Version".

const unsigned long Py_Version
    * Część stabilnego ABI od wersji 3.11.*

   Wersja Python runtime jest zakodowana w pojedynczej stałej liczba
   całkowita, w tym samym formacie co makro "PY_VERSION_HEX". Zawiera
   on Python wersja używany w czasie wykonywania.

   Nowe w wersji 3.11.

Wszystkie podane makra są zdefiniowane w Include/patchlevel.h.
