22 lines
835 B
Python
22 lines
835 B
Python
"""Версия копии из VERSION или метаданных установленного пакета."""
|
|
|
|
from importlib.metadata import PackageNotFoundError, version
|
|
from pathlib import Path
|
|
|
|
_DEFAULT_MARKER = Path(__file__).parent / "VERSION"
|
|
|
|
|
|
def statements_version(path: Path | None = None) -> str | None:
|
|
"""Прочитать VERSION; для установленного пакета использовать версию дистрибутива."""
|
|
marker = _DEFAULT_MARKER if path is None else path
|
|
if marker.is_file():
|
|
text = marker.read_text(encoding="utf-8").strip()
|
|
if text or path is not None:
|
|
return text or None
|
|
if path is not None:
|
|
return None
|
|
try:
|
|
return version("pylib-ai-arm-statements")
|
|
except PackageNotFoundError:
|
|
return None
|