# ============================================================
# Neotask - Modern Distributed Task Scheduler
# ============================================================
# 
# 安装方式:
#   pip install -r requirements.txt           # 完整安装
#   pip install -e .[feature]                 # 可选安装
#
# ============================================================

# ============================================================
# 核心依赖 (Core Dependencies)
# ============================================================
# 所有模式必需
pydantic>=2.0.0,<3.0.0
typing-extensions>=4.0.0

# ============================================================
# Redis 支持 (Redis Support)
# ============================================================
# 分布式模式必需
redis>=4.5.0,<6.0.0
# aiosqlite for async SQLite operations
aiosqlite>=0.19.0,<1.0.0

# ============================================================
# Web UI 支持 (Web UI Support)
# ============================================================
# 监控面板必需
fastapi>=0.100.0,<0.110.0
uvicorn[standard]>=0.23.0,<0.28.0
websockets>=12.0,<13.0
python-multipart>=0.0.6,<0.0.8
httpx>=0.24.0,<0.27.0
jinja2>=3.1.0,<4.0.0
aiofiles>=23.0.0,<24.0.0

# ============================================================
# Cron 调度支持 (Cron Scheduler Support)
# ============================================================
# 周期任务必需
croniter>=1.4.0,<2.0.0

# ============================================================
# Prometheus 监控支持 (Prometheus Support)
# ============================================================
# 指标导出必需
prometheus-client>=0.17.0,<0.20.0
psutil

# ============================================================
# 开发依赖 (Development Dependencies)
# ============================================================
# 以下仅在开发时需要

# 测试框架
pytest>=7.0.0,<8.0.0
pytest-asyncio>=0.21.0,<0.24.0
pytest-cov>=4.0.0,<5.0.0
pytest-timeout>=2.0.0,<3.0.0

# 代码质量工具
black>=23.0.0,<24.0.0
ruff>=0.1.0,<0.2.0
mypy>=1.0.0,<2.0.0
isort>=5.12.0,<6.0.0

# 文档生成
mkdocs>=1.5.0,<2.0.0
mkdocs-material>=9.0.0,<10.0.0

# 类型声明
types-redis>=4.5.0,<5.0.0

# Git 钩子
pre-commit>=3.0.0,<4.0.0