Coverage for src/lpip/__init__.py: 55%
18 statements
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-17 20:19 +0000
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-17 20:19 +0000
1"""lpip — installable package."""
3from __future__ import annotations
5import re
6from importlib.metadata import PackageNotFoundError, version
7from pathlib import Path
9DISTRIBUTION_NAME = "esys-lpip"
10_PROJECT_VERSION = re.compile(r'^version\s*=\s*"(?P<version>[^"]+)"\s*$', re.MULTILINE)
13def _pyproject_version() -> str:
14 pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
15 match = _PROJECT_VERSION.search(pyproject.read_text(encoding="utf-8"))
16 if match is None:
17 raise RuntimeError(f"missing [project].version in {pyproject}")
18 return match.group("version")
21try:
22 __version__ = version(DISTRIBUTION_NAME)
23except PackageNotFoundError:
24 __version__ = _pyproject_version()
27def format_cli_version() -> str:
28 return f"lpip {__version__}"