Coverage for src/qdrant_loader/cli/version.py: 100%
8 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-08 06:05 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-08 06:05 +0000
1from __future__ import annotations
4def get_version_str() -> str:
5 """Return package version string or 'unknown' if the package is not installed.
7 Prefer stdlib importlib.metadata; fallback to importlib_metadata for older Python.
8 Handle only PackageNotFoundError to avoid silencing unrelated errors.
9 """
10 try:
11 # Prefer the stdlib module when available (Python 3.8+)
12 from importlib import metadata as _metadata # type: ignore[no-redef]
13 except ImportError: # pragma: no cover - fallback path for older Python
14 import importlib_metadata as _metadata # type: ignore[no-redef]
16 try:
17 return _metadata.version("qdrant-loader")
18 except _metadata.PackageNotFoundError:
19 return "unknown"