mlx>=0.29.0
mlx-lm>=0.31.0
transformers>=5.0.0
tokenizers>=0.19.0
huggingface-hub>=0.23.0
numpy>=1.24.0
tqdm>=4.66.0
pyyaml>=6.0
requests>=2.28.0
tabulate>=0.9.0
psutil>=5.9.0
fastapi>=0.100.0
uvicorn>=0.23.0
mcp>=1.0.0
jsonschema>=4.0.0
argcomplete>=3.6
websockets>=12.0
openai-harmony>=0.0.8

[all]
mlx-vlm>=0.6.3
opencv-python>=4.8.0
torch>=2.3.0
torchvision>=0.18.0
pillow>=10.0.0
gradio>=4.0.0
pytz>=2024.1
mlx-embeddings>=0.1.0

[audio]
mlx-audio>=0.2.9
sounddevice>=0.4.0
soundfile>=0.12.0
scipy>=1.10.0
numba>=0.57.0
tiktoken>=0.5.0
misaki[ja,zh]>=0.5.0
spacy>=3.7.0
num2words>=0.5.0
loguru>=0.7.0
phonemizer>=3.2.0
ordered_set>=4.1.0
cn2an>=0.5.0
fugashi>=1.3.0
unidic-lite>=1.0.0
jieba>=0.42.0

[chat]
gradio>=4.0.0
pytz>=2024.1

[dev]
pytest>=7.0.0
pytest-asyncio>=0.21.0
black>=23.0.0
ruff>=0.1.0
mypy>=1.0.0
prometheus_client>=0.16.0

[dev:python_version < "3.11"]
tomli>=2.0.1

[dflash]
mlx-vlm>=0.6.3

[embeddings]
mlx-embeddings>=0.1.0

[guided]
outlines[mlxlm]>=1.0.0

[vision]
mlx-vlm>=0.6.3
opencv-python>=4.8.0
torch>=2.3.0
torchvision>=0.18.0
pillow>=10.0.0

[vllm]
vllm>=0.4.0
