pyjwt[crypto]>=2.8.0
pydantic>=2.0

[all]
anthropic>=0.40.0
openai>=1.50.0
langchain-core>=0.3.0
litellm>=1.50.0
google-generativeai>=0.8.0
boto3>=1.34.0
mistralai>=1.0.0
cohere>=5.0.0
redis>=5.0.0
prometheus_client>=0.19
opentelemetry-api>=1.20
opentelemetry-sdk>=1.20
PyYAML>=6.0
numpy>=1.24
pandas>=2.0

[anthropic]
anthropic>=0.40.0

[bedrock]
boto3>=1.34.0

[cohere]
cohere>=5.0.0

[dev]
pytest>=7.4
pytest-asyncio>=0.23
pytest-cov>=4.1
mypy>=1.8
ruff>=0.3
fakeredis>=2.20.0
lupa>=2.0
cryptography>=42.0
prometheus_client>=0.19
opentelemetry-api>=1.20
opentelemetry-sdk>=1.20
PyYAML>=6.0

[eval]
numpy>=1.24
pandas>=2.0

[gemini]
google-generativeai>=0.8.0

[langchain]
langchain-core>=0.3.0

[litellm]
litellm>=1.50.0

[metrics]
prometheus_client>=0.19

[mistral]
mistralai>=1.0.0

[oidc]
pyjwt[crypto]>=2.8.0

[openai]
openai>=1.50.0

[otel]
opentelemetry-api>=1.20
opentelemetry-sdk>=1.20

[policy]
PyYAML>=6.0

[redis]
redis>=5.0.0
