Files
group_fqcd_jr/requirements.txt
张胜宇 f68b052a69 fix: 端点编号去重与 milvus-lite 降为可选依赖
按 qyqy 在 PR #7 评审中的要求处理两项:

- docs/05-接口文档.md §19:客服画像候选的两个端点由 A034/A035 改为 A039/A040。
  原编号与 qyqy 侧登录 / RBAC 只读接口(A034-A038)重复;docs 守卫脚本只校验
  文档文件名编号、不校验 §19 端点编号,因此该重复会静默遗留。改后全表 55 个
  端点编号唯一。
- pyproject.toml / requirements.txt:milvus-lite 由主 dependencies 挪到
  [project.optional-dependencies] dev;requirements.txt 只保留说明性注释,
  不再作为生效依赖。理由:它仅用于本地开发(Docker Milvus 未运行时的本地
  持久化向量库),进主依赖会让生产环境多背一个包。

验证:pytest tests/unit tests/contract -> 1275 passed, 2 skipped, 0 failed;
ruff check app tests tools alembic 通过;mypy app 通过(244 个源文件)。
2026-09-12 11:53:35 +08:00

60 lines
2.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Runtime dependencies (source of truth: pyproject.toml)
fastapi>=0.115,<1
uvicorn[standard]>=0.34,<1
pydantic>=2.10,<3
pydantic-settings>=2.7,<3
python-dotenv>=1.0,<2
sqlalchemy>=2.0,<3
greenlet>=3.1,<4
alembic>=1.14,<2
asyncmy>=0.2,<1
pymysql>=1.1,<2
redis>=5.2,<6
neo4j>=5.28,<6
pymilvus>=2.5,<3
# milvus-lite(本地开发专用:Docker Milvus 未运行时的本地持久化向量库,
# 配合 .env 的 MILVUS_LOCAL_URI)**刻意不在此列** —— 它是可选依赖,
# 声明在 pyproject.toml 的 `[project.optional-dependencies] dev`。
# 本机需要时:`pip install "milvus-lite>=3.2,<4"` 或 `pip install -e ".[dev]"`。
PyJWT>=2.10,<3
cryptography>=44,<51
httpx>=0.28,<1
tzdata>=2025.1,<2027
openai>=1.0,<2
alibabacloud_docmind_api20220711==1.4.14
alibabacloud_tea_openapi>=0.4.3,<1
alibabacloud_tea_util>=0.3.13,<1
alibabacloud_credentials>=1.0.2,<2
# 产品推介材料生成依赖
# - python-pptx:生成固定版式 PPTX
# - openpyxl:读取 XLSX/XLSM 业绩数据文件
# - Pillow:校验上传照片并生成宣传长图 PNG
# - matplotlib:生成业绩曲线 PNG
# - python-multipart:支持 FastAPI 文件上传
# PDF 导出还需要部署机安装 LibreOffice/soffice,并在 .env 中配置
# PROMOTION_PDF_ENABLED/PROMOTION_PDF_CONVERTER_PATH;它不是 pip 依赖。
# 中文渲染还需要部署机存在微软雅黑、黑体、Noto Sans CJK 或文泉驿等中文字体。
python-pptx>=1.0,<2
openpyxl>=3.1,<4
Pillow>=10,<12
matplotlib>=3.9,<4
python-multipart>=0.0.20,<1
# 知识库文档解析依赖
# - python-docx:解析上传的 .docx 知识文档(app/service/document_parser.py)
# 原先漏声明:别人的环境跑知识入库会直接 ModuleNotFoundError: No module named 'docx'
python-docx>=1.1,<2
# 登录(账号密码换令牌)
# - bcrypt:密码哈希。注意 `cryptography` 只用于 JWT(RS256),它不提供密码哈希。
# python 自带的 hashlib 也不适合存密码(无可调工作因子、无盐管理)。
bcrypt>=4.0,<5
# Development and test dependencies
pytest>=8.3,<9
pytest-asyncio>=0.25,<1
aiosqlite>=0.20,<1
ruff>=0.9,<1
mypy>=1.14,<2