xtl.config.version module#

class xtl.config.version.ReleaseLevel[source]#

Bases: IntEnum

Enum to represent the version release level.

ALPHA = 10#

Alpha version, early testing phase.

BETA = 11#

Beta version, feature complete but may have bugs.

DEV = 0#

Development version, not released yet.

FINAL = 15#

Final version, ready for production use.

GAMMA = 12#

Gamma version, stable but not final.

RC = 13#

Release Candidate, ready for final testing.

__new__(value)#
class xtl.config.version.VersionInfo[source]#

Bases: object

Dataclass to hold version information.

__init__(major, minor, micro, level, serial, date=None)#
Parameters:
  • major (int)

  • minor (int)

  • micro (int)

  • level (ReleaseLevel)

  • serial (int)

  • date (datetime | None)

Return type:

None

date: datetime | None = None#

Release date of the version, if available. This is optional and can be None.

property hex: str#

Return a 32-bit hexadecimal representation of the version (e.g., ‘0x0102030a4’).

level: ReleaseLevel#

Release level of the version, indicating the stability and readiness for release.

major: int#

Major version number, incremented for incompatible changes.

micro: int#

Micro version number, incremented for bug fixes.

minor: int#

Minor version number, incremented for new features.

property release_date: str#

Return the release date as a string.

property release_level: str#

Return the release level as a string.

serial: int#

Serial number for the release level, used to differentiate between multiple releases of the same level.

property string#

Return a string representation of the version (e.g., ‘1.2.3a4’).

property string_safe#

Return a string representation of the version including only major, minor and micro levels (e.g., ‘1.2.3’).

property tuple: Tuple[int, int, int, str, int]#

Return a tuple representation of the version (e.g., (1, 2, 3, ‘a’, 4)).

property tuple_safe: Tuple[int, int, int]#

Return a tuple representation of the version including only major, minor and micro levels (e.g., (1, 2, 3)).

xtl.config.version.version = VersionInfo("0.1.0rc1", hex="0x000100d1", date="01/06/2025")#

XTL version information

xtl.config.version.version_from_hex(hex_str, date_str=None)[source]#

Create a VersionInfo object from a 32-bit hexadecimal string.

Parameters:
  • hex_str (str)

  • date_str (str | None)

Return type:

VersionInfo

xtl.config.version.version_from_str(version_str, date_str=None)[source]#

Create a VersionInfo object from a version string.

Parameters:
  • version_str (str)

  • date_str (str | None)

Return type:

VersionInfo