httk.core.docs.semver

Strict, deliberately small Semantic Versioning helpers for documentation tags.

Exceptions

VersionError

Raised when text is not an exact X.Y.Z documentation version.

Classes

Version

Represent one non-negative three-component documentation release version.

Functions

parse_version(text)

Parse exactly X.Y.Z without prerelease or build metadata.

parse_tag(text)

Parse exactly the release tag vX.Y.Z.

highest_version(versions)

Return the greatest version in versions, or None when empty.

is_release_dir_name(name)

Return whether name is a valid release directory such as v2.1.0.

Module Contents

exception httk.core.docs.semver.VersionError[source]

Bases: ValueError

Raised when text is not an exact X.Y.Z documentation version.

class httk.core.docs.semver.Version[source]

Represent one non-negative three-component documentation release version.

Parameters:
  • major – Major release component.

  • minor – Minor release component.

  • patch – Patch release component.

Raises:

VersionError – If a component is negative, non-integral, or boolean.

major: int[source]
minor: int[source]
patch: int[source]
property tag: str[source]

Return the canonical Git tag spelling, vX.Y.Z.

httk.core.docs.semver.parse_version(text)[source]

Parse exactly X.Y.Z without prerelease or build metadata.

Parameters:

text (str) – Version spelling to validate.

Returns:

Parsed release version.

Raises:

VersionError – If text is not an exact X.Y.Z version.

Return type:

Version

httk.core.docs.semver.parse_tag(text)[source]

Parse exactly the release tag vX.Y.Z.

Parameters:

text (str) – Git tag spelling to validate.

Returns:

Parsed release version.

Raises:

VersionError – If text is not an exact vX.Y.Z tag.

Return type:

Version

httk.core.docs.semver.highest_version(versions)[source]

Return the greatest version in versions, or None when empty.

Parameters:

versions (collections.abc.Iterable[Version]) – Versions to compare.

Returns:

Greatest version, or None when the iterable is empty.

Return type:

Version | None

httk.core.docs.semver.is_release_dir_name(name)[source]

Return whether name is a valid release directory such as v2.1.0.

Parameters:

name (str) – Directory name to validate.

Returns:

Whether name is an exact release tag spelling.

Return type:

bool