Coverage for app/version.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2026-04-14 18:19 +0000

1"""Module Docstring.""" 

2 

3import logging 

4import tomllib 

5from pathlib import Path 

6 

7logger = logging.getLogger("app") 

8 

9 

10def version() -> str: 

11 """Log version at INFO level. 

12 

13 Returns: 

14 Version string from pyproject.toml. 

15 

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 

24 

25 """ 

26 pyproject_path = Path(__file__).parent.parent / "pyproject.toml" 

27 

28 with Path(pyproject_path).open("rb") as f: 

29 data = tomllib.load(f) 

30 

31 version_str = data["project"]["version"] 

32 logger.info("Version: %s", version_str) 

33 return version_str 

34 

35 

36if __name__ == "__main__": 

37 version()