agent-governance 1.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,49 @@
1
+ from __future__ import annotations
2
+
3
+ from importlib import metadata
4
+ from pathlib import Path
5
+
6
+ try:
7
+ import tomllib # type: ignore
8
+ except ModuleNotFoundError: # pragma: no cover
9
+ import tomli as tomllib # type: ignore
10
+
11
+ PACKAGE_NAME = "agent-governance"
12
+ __version__ = "unknown"
13
+
14
+
15
+ def _version_from_pyproject() -> str | None:
16
+ for parent in Path(__file__).resolve().parents:
17
+ candidate = parent / "pyproject.toml"
18
+ if not candidate.exists():
19
+ continue
20
+ try:
21
+ data = tomllib.loads(candidate.read_text())
22
+ except tomllib.TOMLDecodeError:
23
+ return None
24
+ if not isinstance(data, dict):
25
+ return None
26
+ project = data.get("project", {})
27
+ if isinstance(project, dict):
28
+ version = project.get("version")
29
+ if isinstance(version, str) and version.strip():
30
+ return version.strip()
31
+ tool = data.get("tool", {})
32
+ if isinstance(tool, dict):
33
+ poetry = tool.get("poetry", {})
34
+ if isinstance(poetry, dict):
35
+ version = poetry.get("version")
36
+ if isinstance(version, str) and version.strip():
37
+ return version.strip()
38
+ return None
39
+ return None
40
+
41
+
42
+ def get_version() -> str:
43
+ try:
44
+ return metadata.version(PACKAGE_NAME)
45
+ except metadata.PackageNotFoundError:
46
+ return _version_from_pyproject() or __version__
47
+
48
+
49
+ __all__ = ["PACKAGE_NAME", "__version__", "get_version"]