Coverage for src / gitversioned / __init__.py: 0%

8 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-05-14 20:57 +0000

1""" 

2Opinionated PEP 440 Python versioning for Git repos and submodules. 

3 

4Provides an automated, deterministic system for generating rich version information from 

5Git repository metadata. It enforces CI/User authority and creates version files with 

6deep metadata for auditability, integrating natively with Hatch and Setuptools. 

7 

8Example: 

9:: 

10 from gitversioned import Settings, resolve_version 

11 from gitversioned.utils import BuildEnvironment, GitRepository 

12 

13 version, ref = resolve_version( 

14 Settings(), GitRepository(), BuildEnvironment() 

15 ) 

16 print(f"Current version: {version}") 

17""" 

18 

19from __future__ import annotations 

20 

21from typing import Annotated 

22 

23from .logging import LoggingSettings, configure_logger, logger 

24from .settings import Settings 

25from .versioning import ( 

26 generate_version_py, 

27 resolve_and_generate_version, 

28 resolve_version, 

29) 

30 

31__all__ = [ 

32 "LoggingSettings", 

33 "Settings", 

34 "__version__", 

35 "configure_logger", 

36 "generate_version_py", 

37 "logger", 

38 "resolve_and_generate_version", 

39 "resolve_version", 

40] 

41 

42__version__: Annotated[ 

43 str, 

44 "The current version of the gitversioned package as a PEP 440 compliant string", 

45] = "0.1.2" 

46 

47configure_logger()