From bb1ea2f1d64e44f873424306fdc062e1449a65b3 Mon Sep 17 00:00:00 2001 From: Javier Martinez Date: Wed, 3 Jun 2026 00:27:00 +0800 Subject: [PATCH] chore(build): copy version.txt --- private_gpt/utils/runner.py | 19 +++++++++++++------ pyproject.toml | 1 + 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/private_gpt/utils/runner.py b/private_gpt/utils/runner.py index 0d2a1820..50c45559 100644 --- a/private_gpt/utils/runner.py +++ b/private_gpt/utils/runner.py @@ -1,8 +1,15 @@ +from __future__ import annotations + +from importlib.metadata import PackageNotFoundError, version +from pathlib import Path + + def get_version() -> str: - with open("version.txt", "r+") as version_file: + try: + return version("private-gpt") + except PackageNotFoundError: + version_file = Path(__file__).resolve().parents[2] / "version.txt" try: - release_version = version_file.read() - version_file.close() - return release_version - except OSError as e: - raise ImportError("Version file not found") from e + return version_file.read_text(encoding="utf-8").strip() + except OSError as exc: + raise ImportError("Version metadata not found") from exc diff --git a/pyproject.toml b/pyproject.toml index b5f95cae..22bce5a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -348,6 +348,7 @@ packages = ["private_gpt"] [tool.hatch.build.targets.wheel.force-include] "settings.yaml" = "settings.yaml" +"version.txt" = "version.txt" "ui" = "ui" "scripts" = "scripts"