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

1from __future__ import annotations 

2 

3 

4def get_version_str() -> str: 

5 """Return package version string or 'unknown' if the package is not installed. 

6 

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] 

15 

16 try: 

17 return _metadata.version("qdrant-loader") 

18 except _metadata.PackageNotFoundError: 

19 return "unknown"