ToolDetails#

class caf.toolkit.log_helpers.ToolDetails(name, version, homepage=None, source_url=None, full_version=<factory>)[source]#

Information about the current tool.

Parameters:
  • name (str) – See name.

  • version (str) – See version.

  • homepage (str | None) – See homepage.

  • source_url (str | None) – See source_url.

  • full_version (str | None) – This will be automatically determined when inside a git repository, otherwise is None.

Attributes

full_version

Full version from git describe output, None if git command fails.

homepage

URL of the homepage for the tool.

source_url

URL of the source code repository for the tool.

name

Name of the tool.

version

Version of the tool, should be in semantic versioning format https://semver.org/.

Methods

__init__(*args, **kwargs)

Attributes Documentation

full_version: str | None = FieldInfo(annotation=NoneType, required=False, default_factory=git_describe)#

Full version from git describe output, None if git command fails.

Follows the git describe format: {tag}-{no. commits}-{hash}[-dirty][-broken] - tag: the most recent git tag - no. commits: number of commits since that tag - hash: commit hash - [-dirty]: added if git repository contains changes from HEAD - [-broken]: added if git repository contains a repository error e.g. “v1-0-abc123-dirty”

homepage: Annotated[str, AfterValidator(func=HttpUrl)] | None = None#

URL of the homepage for the tool.

source_url: Annotated[str, AfterValidator(func=HttpUrl)] | None = None#

URL of the source code repository for the tool.

name: str[source]#

Name of the tool.

version: [0-9a-zA-Z-]+)*))?$)][source]#

Version of the tool, should be in semantic versioning format https://semver.org/.