- 单一版本来源:__version__ 改为从 pyproject.toml 动态读取
- Docker Compose 镜像标签环境变量化 (${YUXI_VERSION:-0.6.1})
- info.template.yaml 版权信息支持版本号动态注入
- 测试断言改为动态比较,不再硬编码版本号
- 新增 bump-version.sh 发版脚本,一键同步所有版本位置
- 更新 changelog.md,记录 v0.6.1 变更内容
34 lines
820 B
Python
34 lines
820 B
Python
from dotenv import load_dotenv
|
|
|
|
load_dotenv(".env", override=True)
|
|
|
|
from concurrent.futures import ThreadPoolExecutor # noqa: E402
|
|
from importlib import import_module # noqa: E402
|
|
|
|
from yuxi.config import config as config # noqa: E402
|
|
|
|
try:
|
|
from importlib.metadata import version
|
|
|
|
__version__ = version("yuxi")
|
|
except Exception:
|
|
__version__ = "unknown"
|
|
|
|
executor = ThreadPoolExecutor() # noqa: E402
|
|
|
|
|
|
def get_version():
|
|
"""Return the Yuxi version."""
|
|
return __version__
|
|
|
|
|
|
def __getattr__(name: str):
|
|
if name in {"graph_base", "knowledge_base"}:
|
|
knowledge = import_module("yuxi.knowledge")
|
|
return getattr(knowledge, name)
|
|
raise AttributeError(f"module 'yuxi' has no attribute {name!r}")
|
|
|
|
|
|
def __dir__():
|
|
return sorted(set(globals()) | {"graph_base", "knowledge_base"})
|