numpy<3,>=1.24
sentencepiece<0.3,>=0.2

[agents-audio]
openai-whisper>=20231117

[all]
torch<3,>=2.1
transformers<6,>=4.51
flask<4,>=3
accelerate<2,>=0.30
datasets<4,>=2.18
peft<1,>=0.11
safetensors<1,>=0.4
cryptography<47,>=42

[all:python_version >= "3.10"]
fastapi==0.139.0
uvicorn==0.51.0

[dev]
pytest>=8
build<2,>=1.2
twine<7,>=5

[examples]
torch<3,>=2.1
transformers<6,>=4.51
accelerate<2,>=0.30
datasets<4,>=2.18
peft<1,>=0.11
safetensors<1,>=0.4

[hf]
torch<3,>=2.1
transformers<6,>=4.51
accelerate<2,>=0.30
datasets<4,>=2.18
peft<1,>=0.11

[hf-inference]
torch<3,>=2.1
transformers<6,>=4.51
accelerate<2,>=0.30
safetensors<1,>=0.4

[peft]
torch<3,>=2.1
peft<1,>=0.11

[qlora]
torch<3,>=2.4
transformers<6,>=4.51

[qlora:python_version >= "3.10"]
bitsandbytes<1,>=0.49

[security]
cryptography<47,>=42

[security-keyring]
cryptography<47,>=42
keyring<27,>=25

[train]
torch<3,>=2.1

[web]
torch<3,>=2.1
flask<4,>=3

[web:python_version >= "3.10"]
fastapi==0.139.0
uvicorn==0.51.0
