pydantic>=2.5 pydantic-settings>=2.1 SQLAlchemy>=2.0 PyMySQL>=1.1 # redis-py 6.x 默认按 RESP3 握手 (先发 HELLO 3), 而 208/150 两台 Redis 是 6.0 以前的版本, # 会回 "unknown command HELLO" 导致行情与 Celery 总线全断 —— 锁在 5.x (默认 RESP2)。 # 代码侧另有 protocol=2 双保险 (app/services/market.py)。 redis>=5.0,<6.0 celery>=5.3 fastapi>=0.110 uvicorn>=0.27 requests>=2.31 chinesecalendar>=1.9 # ---- QMT WebSocket 直连通道 (协议 QMT_WS_PROTOCOL.md V1.0) ---- # websockets 上限锁在 15 之前: 14.x 起 websockets.connect 已切到新版 asyncio 实现, # 再往上客户端 API 还会继续动。这条通道是要挂实盘的, 不接受"升级依赖顺手换实现"。 websockets>=12.0,<15.0 # Ed25519 签名/验签 (协议 §2.1)。python:3.11-slim 上有 manylinux 轮子, 不需要编译链。 cryptography>=42.0