pydantic-settings>=2.0.0
python-dotenv>=1.0.0
pyyaml>=6.0

[adk]
google-adk>=1.31.0
google-genai>=1.14.0

[all]
dynamic-model-router[adk,anthropic,crewai,google,ml,openai]

[all_extensions]
redis>=5.0.0
confluent-kafka>=2.3.0
boto3>=1.34.0
tiktoken>=0.5.0
transformers>=4.40.0
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0

[anthropic]
anthropic>=0.39.0

[crewai]
crewai>=0.80.0

[dev]
pytest>=7.0.0
pytest-cov>=4.0.0
pytest-asyncio>=0.21.0
build>=1.0.0
ruff>=0.5.0
mypy>=1.10.0
twine>=5.0.0
pip-audit>=2.7.0
nbmake>=1.5.0

[dspy_ext]
dspy>=2.5.0

[google]
google-genai>=1.14.0

[haystack]
haystack-ai>=2.6.0

[hf]
transformers>=4.40.0

[kafka]
confluent-kafka>=2.3.0

[llamaindex]
llama-index>=0.11.0

[ml]
scikit-learn>=1.3.0
sentence-transformers>=2.2.0
joblib>=1.3.0
numpy>=1.24.0

[openai]
openai>=1.50.0

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

[pydanticai]
pydantic-ai>=0.0.14

[redis]
redis>=5.0.0

[s3]
boto3>=1.34.0

[semantickernel]
semantic-kernel>=1.0.0

[smolagents]
smolagents>=1.0.0

[tokenizers]
tiktoken>=0.5.0
