numpy>=1.21.0
pydantic>=2.0.0
rich>=13.0.0
typer>=0.9.0
typing-extensions>=4.0.0
tqdm>=4.65.0
cachetools>=5.0.0

[api]
fastapi>=0.110.0
uvicorn>=0.23.0
httpx<0.28.0,>=0.25.0
psutil>=5.9.0
requests>=2.31.0

[auto-research]
stateset-agents[training]
optuna>=3.0.0
pyyaml>=6.0

[auto-research-llm]
stateset-agents[auto-research]
anthropic>=0.5.0
openai>=1.0.0

[dev]
pytest<9.0.0,>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
hypothesis>=6.0.0
black>=23.0.0
isort>=5.12.0
flake8>=6.0.0
mypy>=1.0.0
pre-commit>=3.0.0
sphinx>=6.0.0
sphinx-rtd-theme>=1.2.0
ruff>=0.1.0
bandit>=1.7.0
safety>=2.0.0
semgrep>=1.0.0
torch>=2.0.0
transformers>=4.57.1
datasets>=2.0.0
accelerate>=0.20.0
wandb>=0.15.0
peft>=0.4.0
trl>=0.7.0
aiohttp>=3.8.0
psutil>=5.9.0
scikit-learn<2.0.0,>=1.3.0
fastapi>=0.110.0
uvicorn>=0.23.0
httpx<0.28.0,>=0.25.0
requests>=2.31.0

[distributed]
deepspeed>=0.9.0

[examples]
openai>=1.0.0
anthropic>=0.5.0
langchain>=0.1.0

[full]
stateset-agents[api,auto-research,hpo,training,vllm]

[hpo]
optuna>=3.0.0
ray[tune]>=2.0.0

[training]
torch>=2.0.0
transformers>=4.57.1
datasets>=2.0.0
accelerate>=0.20.0
wandb>=0.15.0
peft>=0.4.0
trl>=0.7.0
aiohttp>=3.8.0
psutil>=5.9.0
scikit-learn<2.0.0,>=1.3.0
gymnasium>=0.28.0

[trl]
trl>=0.7.0
bitsandbytes>=0.41.0

[vllm]
vllm>=0.18.2
