实现全部 CHOICE 财务接口, 补充测试/文档/部署配置
- 新增 9 个抓取模块: 三大报表/盈利能力/资本结构/营运能力/成长能力/杜邦/分红 - api.py 新增 10 个 /fin/* 接口并统一无数据返回 - 新增 _emchoice.py 共享请求辅助 (emws 跳转取 URL / datacenter 报表拉取) - 新增冒烟测试 tests/test_interfaces.py (24 用例) - 新增接口文档 api_manual.md 与施工蓝图 blueprint.md - 新增 Dockerfile / docker-compose.yml / deploy.sh 部署配置
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
# EMWeb API 生产镜像
|
||||
# 基于 python:3.13-slim (与本地 uv 锁定的 CPython 3.13.14 一致)
|
||||
FROM python:3.13-slim
|
||||
|
||||
# 安装 uv (项目用 uv 管理依赖)
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ENV UV_LINK_MODE=copy \
|
||||
UV_COMPILE_BYTECODE=1
|
||||
|
||||
# 先拷贝依赖清单, 利用 Docker 层缓存加速重建
|
||||
COPY pyproject.toml uv.lock ./
|
||||
# 只装生产依赖, 不装项目自身 (无 build-system, 跳过避免报错)
|
||||
RUN uv sync --frozen --no-dev --no-install-project
|
||||
|
||||
# 拷贝源码
|
||||
COPY . .
|
||||
|
||||
EXPOSE 8765
|
||||
|
||||
# 直接用 venv 里的 uvicorn 启动 (不再触发 uv sync)
|
||||
CMD [".venv/bin/uvicorn", "api:app", "--host", "0.0.0.0", "--port", "8765"]
|
||||
Reference in New Issue
Block a user