- uv 工程(Python 3.12,pyproject + uv.lock,dev: pytest/ruff) - 分层包结构:api / application / domain / infrastructure / quant(qlib_adapter) / agent / core - app.core.config:加载根 config.yaml + .env,sqlite 相对路径解析到项目根 data/ - SQLAlchemy Base + Session 工厂(Infrastructure 层,业务走 Repository) - Alembic 迁移环境就位(env.py 复用应用配置,render_as_batch 兼容 SQLite) - GET /api/health + pytest 冒烟 6 项通过 / ruff clean / uvicorn 启动验证
8 lines
284 B
Python
8 lines
284 B
Python
"""HTTP API 层。
|
|
|
|
约束(AGENT.md §17/§18):
|
|
- 路由面向业务对象(/api/stocks、/api/factors、/api/backtests ...),不暴露 Qlib / SQL
|
|
- 输入输出一律 Pydantic DTO,禁止把 ORM Model 直接暴露
|
|
- 耗时任务返回 job_id,不长时间阻塞 HTTP
|
|
"""
|