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
« 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.
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.
8Example:
9::
10 from gitversioned import Settings, resolve_version
11 from gitversioned.utils import BuildEnvironment, GitRepository
13 version, ref = resolve_version(
14 Settings(), GitRepository(), BuildEnvironment()
15 )
16 print(f"Current version: {version}")
17"""
19from __future__ import annotations
21from typing import Annotated
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)
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]
42__version__: Annotated[
43 str,
44 "The current version of the gitversioned package as a PEP 440 compliant string",
45] = "0.1.2"
47configure_logger()