httpx>=0.27.0
openai>=2.0.0
anthropic>=0.68.0
pydantic<2.13,>=2.12.0
pydantic-core<2.42,>=2.41.0
rich>=14.0.0
prompt_toolkit>=3.0.0
pyyaml>=6.0.0
ruamel.yaml>=0.18.0
jinja2>=3.1.0
libcst<2,>=0.3.23
aiofiles>=25.1.0
python-dotenv>=1.0.0
kohakuvault>=0.8.6
textual>=8.0.0
html2text>=2025.0.0
gitpython>=3.1.0
dulwich>=0.22
fastapi>=0.115.0
uvicorn[standard]>=0.34.0
websockets>=10.4
bcrypt>=4.0.0
segno>=1.6.0
trafilatura>=2.0.0
ddgs>=9.0.0
pymupdf>=1.24.0
Pillow>=11.0.0
mcp>=1.0.0
rpds-py>=0.30.0
jiter<1,>=0.10.0
primp>=1.3.0
model2vec>=0.8.0
safetensors>=0.7.0
tokenizers<0.24,>=0.20

[:sys_platform == "win32"]
pywinpty>=2.0.0

[browser]
crawl4ai>=0.8.0

[client]

[demo]
KohakuTerrarium[discord]

[desktop]
pywebview==6.1

[dev]
pytest>=9.0.0
pytest-asyncio>=1.3.0
pytest-timeout>=2.3.0
black>=26.3.0
isort>=8.0.0
ruff>=0.9.0

[discord]
discord.py>=2.0.0

[embeddings-heavy]
sentence-transformers>=5.0.0

[full]
KohakuTerrarium[browser,demo,embeddings-heavy]

[host]

[litellm]
litellm<2.0.0,>=1.60.0
