4ef11c8f00
Lint & Test / test (push) Successful in 10s
- Rename GITEA_TOKEN to DEPLOY_TOKEN in release workflow - Extract shared version detection into build-common.sh - Use importlib.metadata for runtime version instead of hardcoded string - Use PEP 440 parsing (packaging lib) for update version comparison - Add packaging>=23.0 to dependencies - Fix update banner close button alignment (CSS) - Update CLAUDE.md with versioning docs and frontend rebuild notes
24 lines
687 B
Python
24 lines
687 B
Python
"""Media Server - REST API for controlling system media playback."""
|
|
|
|
from importlib.metadata import PackageNotFoundError, version
|
|
from pathlib import Path
|
|
|
|
|
|
def _detect_version() -> str:
|
|
# 1. Package metadata (works when pip-installed in dev)
|
|
try:
|
|
return version("media-server")
|
|
except PackageNotFoundError:
|
|
pass
|
|
|
|
# 2. VERSION file written by build scripts (production builds)
|
|
# Located at install root, two levels up from this package
|
|
version_file = Path(__file__).resolve().parent.parent.parent / "VERSION"
|
|
if version_file.is_file():
|
|
return version_file.read_text().strip()
|
|
|
|
return "0.0.0-dev"
|
|
|
|
|
|
__version__ = _detect_version()
|