Coverage for app/version.py: 100%
11 statements
« prev ^ index » next coverage.py v7.8.0, created at 2026-04-14 18:19 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2026-04-14 18:19 +0000
1"""Module Docstring."""
3import logging
4import tomllib
5from pathlib import Path
7logger = logging.getLogger("app")
10def version() -> str:
11 """Log version at INFO level.
13 Returns:
14 Version string from pyproject.toml.
16 Examples:
17 >>> result = version() # doctest: +ELLIPSIS
18 >>> isinstance(result, str)
19 True
20 >>> len(result) > 0
21 True
22 >>> '.' in result # Version should contain dots
23 True
25 """
26 pyproject_path = Path(__file__).parent.parent / "pyproject.toml"
28 with Path(pyproject_path).open("rb") as f:
29 data = tomllib.load(f)
31 version_str = data["project"]["version"]
32 logger.info("Version: %s", version_str)
33 return version_str
36if __name__ == "__main__":
37 version()