"""Sanguo Quant API Module (惰性 re-export)。 子模块(strategy_registry / instance_store 等纯逻辑)可直接 import,不触发 fastapi/pydantic —— 这样数据层 venv 也能单测纯逻辑模块。create_app / schemas 走 PEP 562 `__getattr__`,仅当 `from sanguo_api import create_app` 访问时才加载 (调用方应优先 `from sanguo_api.app import create_app`)。 """ __version__ = "0.1.0" _LAZY = { "create_app": "sanguo_api.app", "CtaBacktestRequest": "sanguo_api.schemas", "OptimizeRequest": "sanguo_api.schemas", "FactorAnalysisRequest": "sanguo_api.schemas", } def __getattr__(name: str): """惰性加载 re-export 项(首次访问才 import,避免拖入 fastapi/pydantic)。""" if name in _LAZY: import importlib mod = importlib.import_module(_LAZY[name]) return getattr(mod, name) raise AttributeError(f"module 'sanguo_api' has no attribute {name!r}") def __dir__() -> list[str]: return sorted(list(_LAZY) + ["__version__"])