numpy>=1.20.0
typing-extensions>=4.0.0
requests>=2.25.0
click>=8.0.0

[analytics]
scipy>=1.7.0
scikit-learn>=1.0.0

[dash]
flask>=2.0.0
flask-cors>=3.0.0
plotly>=5.0.0
pandas>=1.3.0

[dev]
pytest>=7.0.0
pytest-cov>=3.0.0
pytest-asyncio>=0.20.0
ruff>=0.6.0
types-requests>=2.31.0.20240106

[dev:python_version < "3.10"]
pre-commit<4.0.0,>=3.7.0

[dev:python_version < "3.9"]
mypy<1.19,>=0.950

[dev:python_version >= "3.10"]
pre-commit>=4.0.0

[dev:python_version >= "3.9"]
mypy>=1.10.0

[evals]
jsonschema>=4.0.0
pandas>=1.3.0
tabulate>=0.9.0

[full]
scipy>=1.7.0
scikit-learn>=1.0.0
flask>=2.0.0
flask-cors>=3.0.0
plotly>=5.0.0
pandas>=1.3.0
reportlab>=3.6.0
websockets>=10.0
aiohttp>=3.8.0
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0
prometheus-client>=0.20.0
pyyaml>=6.0.3
psutil>=7.2.1
redis>=7.1.0

[openrouter]
openai>=1.0.0

[otel]
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0

[prometheus]
prometheus-client>=0.20.0

[reports]
reportlab>=3.6.0

[streaming]
websockets>=10.0
aiohttp>=3.8.0

[visualization]
flask>=2.0.0
flask-cors>=3.0.0
plotly>=5.0.0
pandas>=1.3.0
