| """Cached version lookup for the web UI.""" | |
| from functools import lru_cache | |
| from importlib.metadata import PackageNotFoundError, version | |
| from app import __version__ as _SERVER_VERSION_FALLBACK | |
| def get_versions() -> dict[str, str]: | |
| """Return {'server': ..., 'pocket_tts': ...}. | |
| Falls back to the hardcoded `app.__version__` for the server when the | |
| package isn't installed via pip. `pocket_tts` falls back to 'unknown'. | |
| """ | |
| try: | |
| server = version('pocket-tts-openai-server') | |
| except PackageNotFoundError: | |
| server = _SERVER_VERSION_FALLBACK | |
| try: | |
| pocket_tts = version('pocket-tts') | |
| except PackageNotFoundError: | |
| pocket_tts = 'unknown' | |
| return {'server': server, 'pocket_tts': pocket_tts} | |