fastapi>=0.109.0
uvicorn>=0.27.0
pydantic>=2.5.0
pydantic-settings>=2.0.0
httpx>=0.27
pyyaml>=6.0
loguru>=0.7.0
pyjwt>=2.0.0
numpy>=1.26.0
psutil>=5.9.0

[agno]
agno>=1.0.0

[all]
distributed-llm[agno,autogpt,backends,cli,examples,mlflow,observability,openai-agents,ray,sdk,security,self-hosted,spark,spot,ui,wan]
distributed-llm[model-extras]

[all-dev]
distributed-llm[all,dev]
locust>=2.20
safety>=3.0

[autogpt]
autogpt>=0.4.0

[backends]
vllm<0.9.0,>=0.7.0
sglang<0.5.0,>=0.4.0
llama-cpp-python>=0.3.0

[cli]
typer[all]>=0.9.0
rich>=13.7.0
prompt_toolkit>=3.0.0

[dev]
pytest>=7.0
pytest-asyncio>=0.23
hypothesis>=6.90
pytest-benchmark>=4.0
black>=24.0
ruff>=0.1.0
mypy>=1.8
opentelemetry-test-utils>=0.42b0
bandit[toml]>=1.7
detect-secrets>=1.5

[examples]
langchain-openai>=0.1.0
langchain-core>=0.1.0
llama-index-llms-openai>=0.1.0
llama-index-core>=0.10.0
crewai>=0.30.0

[mlflow]
mlflow>=2.0.0

[model-extras]
bitsandbytes>=0.41.0
peft>=0.14.0

[moderation]
transformers>=4.36.0
onnxruntime>=1.16.0

[monitoring]
opentelemetry-exporter-otlp-proto-grpc>=1.21.0
opentelemetry-proto>=1.21.0
nvidia-ml-py>=12.0
psutil>=5.9.0

[observability]
prometheus-client>=0.20
opentelemetry-api>=1.21.0
opentelemetry-sdk>=1.21.0
opentelemetry-exporter-prometheus>=0.42b0

[openai-agents]
openai-agents>=0.1.0
openai>=1.0.0

[ray]
ray[default]>=2.30.0

[sdk]
httpx>=0.27.0

[security]
cryptography>=41.0
pynacl>=1.5.0

[self-hosted]
torch>=2.5.0
transformers>=4.48.0
accelerate>=1.0.0
safetensors>=0.4.0
huggingface-hub>=0.20.0
sentencepiece>=0.1.99
nvidia-ml-py>=12.0

[spark]
pyspark>=3.4.0

[spark-mlflow]
distributed-llm[mlflow,spark]

[spot]
httpx>=0.27

[ui]
jinja2>=3.1.0
python-multipart>=0.0.6
qrcode[pil]>=7.4

[vector-db-all]
distributed-llm[vector-db-milvus,vector-db-pinecone,vector-db-qdrant,vector-db-weaviate]

[vector-db-milvus]
pymilvus>=2.3.0

[vector-db-pinecone]
pinecone>=3.0.0

[vector-db-qdrant]
qdrant-client>=1.9.0

[vector-db-weaviate]
weaviate-client>=4.0.0

[wan]
aioquic>=1.0.0

[wandb]
wandb>=0.18
nvidia-ml-py>=12.0
