# 核心依赖 - 精确版本 (2026-05-21 验证通过)
fastapi==0.136.1
uvicorn[standard]==0.34.0
python-multipart==0.0.20
pydantic==2.10.6
pydantic-settings==2.7.1
pyyaml==6.0.2
python-dotenv==1.1.0
aiofiles==25.1.0
websockets==14.1

# 图像处理和计算机视觉
opencv-python==4.13.0.92
pillow==11.1.0
imgaug==0.4.0

# 机器学习框架 - 已解决兼容性问题
numpy==2.4.6
torch==2.12.0
torchvision==0.27.0
ultralytics==8.4.52
ultralytics-thop==2.0.19

# PaddlePaddle 生态
paddlepaddle==3.0.0
paddle2onnx==2.1.0

# 数据处理
pandas==2.3.3
scipy==1.15.2
scikit-image==0.26.0

# 图像和几何处理
imageio==2.37.3
matplotlib==3.10.1
shapely==2.1.0

# 其他工具
click==8.4.0
tqdm==4.68.1
psutil==6.1.1

# 网络相关
httpx==0.28.1
certifi==2026.5.20

# 开发工具
ipython==9.1.0
jedi==0.19.2
pytest==9.0.3
pytest-cov==7.0.0

# 特殊注意事项：
# 1. imgaug==0.4.0 需要手动修复 numpy 2.0 兼容性问题：
#    修改 venv/lib/python3.12/site-packages/imgaug/imgaug.py 第45-47行
#    将 np.sctypes["float"] 等替换为直接指定类型：
#    NP_FLOAT_TYPES = {np.float16, np.float32, np.float64}
#    NP_INT_TYPES = {np.int8, np.int16, np.int32, np.int64}
#    NP_UINT_TYPES = {np.uint8, np.uint16, np.uint32, np.uint64}
#
# 2. PyTorch 2.12.0 与 ultralytics 8.4.52 完全兼容
#
# 3. NumPy 2.4.6 已验证与所有主要包兼容
#
# 4. PaddleDetection 第三方库路径：../../third-party/paddle-inference