httk.core.docs.release

Release-tag checks, lock validation, and deterministic documentation URLs.

When docs/versioning.toml is present, release checks assume each internal repository’s Sphinx project name equals its configured documentation slug and validate the corresponding committed docs/_inventories/<slug>.inv header.

Exceptions

ReleaseError

Raised when a release tag, project version, or documentation lock is invalid.

Classes

ReleaseCheck

Summarize a successful release preflight.

Functions

check_release(project_dir, tag)

Validate a release tag against pyproject.toml and its docs lock.

dependency_doc_targets(config, pins, base_url, channel)

Derive exact release or dev/main inventory URLs for internal dependencies.

Module Contents

exception httk.core.docs.release.ReleaseError[source]

Bases: RuntimeError

Raised when a release tag, project version, or documentation lock is invalid.

class httk.core.docs.release.ReleaseCheck[source]

Summarize a successful release preflight.

Parameters:
  • tag – Release tag validated by the preflight.

  • version – Parsed release version.

  • lock_path – Documentation lock checked by the preflight.

tag: str[source]
version: httk.core.docs.semver.Version[source]
lock_path: pathlib.Path[source]
httk.core.docs.release.check_release(project_dir, tag)[source]

Validate a release tag against pyproject.toml and its docs lock.

Parameters:
  • project_dir (str | pathlib.Path) – Project directory containing release metadata.

  • tag (str) – Release tag to validate.

Returns:

Summary of the successful release preflight.

Raises:

ReleaseError – If project metadata, the release tag, lock, or inventories are invalid.

Return type:

ReleaseCheck

httk.core.docs.release.dependency_doc_targets(config, pins, base_url, channel)[source]

Derive exact release or dev/main inventory URLs for internal dependencies.

Parameters:
Returns:

Mapping of dependency distributions to inventory base URLs.

Raises:
  • ReleaseError – If a release dependency has no valid locked version.

  • ValueError – If channel or a locked dependency version is invalid.

Return type:

dict[str, str]