v1.10.0 — Web API 层(FastAPI REST + WebSocket)
🌐 easy-tdx v1.10.0 — Web API 层
将 easy-tdx 一键暴露为 REST + WebSocket HTTP API,支持跨语言、跨平台、远程调用。
✨ 新功能
- FastAPI REST API — 全部
AsyncTdxClient方法暴露为 REST 端点/api/v1/security/*— 证券列表、实时报价、市场统计/api/v1/bars/*— K线、指数K线、分时、逐笔成交/api/v1/xdxr,/api/v1/finance/*— 除权除息、财务、公司信息/api/v1/block— 板块信息/api/v1/chanlun/analyze— 缠论分析(POST)
- WebSocket 实时行情 —
/ws/realtime/{symbol},支持多标的动态订阅 - CLI
easy-tdx serve— 一行命令启动 Web 服务器 - 自动 API 文档 — Swagger UI (
/docs) + ReDoc (/redoc) - 可选依赖 —
pip install easy-tdx[web],核心安装不受影响
🚀 快速开始
pip install easy-tdx[web]
easy-tdx serve
# 浏览器打开 http://127.0.0.1:8000/docs 查看完整 API 文档🐛 Bug 修复
- 修复
deps.py运行时NameError(500 → 正常启动) - 修复 market/category 参数不支持小写和非法值(500 → 400 Bad Request)
📊 测试覆盖
- 20 个离线单元测试(无需网络)
- 409 全量单元测试通过,无回归
- mypy strict 零错误
- ruff check + format 全通过
📁 新增文件(14 个)
src/easy_tdx/web/
├── __init__.py # 公共 API
├── app.py # FastAPI app factory + lifespan
├── deps.py # 依赖注入
├── schemas.py # Pydantic 模型
├── convert.py # 参数转换(大小写 + 验证)
├── errors.py # 异常处理
└── routers/
├── market.py # 行情路由
├── bars.py # K线路由
├── finance.py # 财务路由
├── block.py # 板块路由
├── chanlun.py # 缠论路由
└── realtime.py # WebSocket 路由