Source code for octomachinery.utils.versiontools
"""Version tools set."""
from typing import Callable, Optional, Union
from setuptools_scm import get_version
from setuptools_scm.version import ScmVersion
[docs]def get_version_from_scm_tag(
*,
root: str = '.',
relative_to: Optional[str] = None,
local_scheme: Union[
Callable[[ScmVersion], str], str,
] = 'node-and-date',
) -> str:
"""Retrieve the version from SCM tag in Git or Hg."""
try:
return get_version(
root=root,
relative_to=relative_to,
local_scheme=local_scheme,
)
except LookupError:
return 'unknown'