1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
"""lpip — installable package."""
from __future__ import annotations
import re
from importlib.metadata import PackageNotFoundError, version
from pathlib import Path
DISTRIBUTION_NAME = "esys-lpip"
_PROJECT_VERSION = re.compile(r'^version\s*=\s*"(?P<version>[^"]+)"\s*$', re.MULTILINE)
def _pyproject_version() -> str:
pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
match = _PROJECT_VERSION.search(pyproject.read_text(encoding="utf-8"))
if match is None:
raise RuntimeError(f"missing [project].version in {pyproject}")
return match.group("version")
try:
__version__ = version(DISTRIBUTION_NAME)
except PackageNotFoundError:
__version__ = _pyproject_version()
def format_cli_version() -> str:
return f"lpip {__version__}"
|