fastapi>=0.104.0
uvicorn[standard]>=0.24.0
sqlalchemy>=2.0.0
aiosqlite>=0.19.0
greenlet>=3.0.0
pydantic>=2.5.0
pydantic-settings>=2.1.0
python-multipart>=0.0.6
websockets>=12.0
python-dotenv>=1.0.0
typer>=0.9.0
rich>=13.0.0
httpx>=0.25.0
requests>=2.31.0
jinja2>=3.1.0
numpy<2.0.0,>=1.24.0
cryptography>=41.0.0
aiofiles>=23.0.0
edge-tts>=6.1.0
huggingface-hub>=0.20.0

[advanced]
torch>=2.1.0
accelerate>=0.24.0
optimum>=1.14.0
huggingface-hub>=0.20.0
soundfile>=0.12.0
pyaudio>=0.2.11
webrtcvad>=2.0.10
noisereduce>=3.0.0
edge-tts>=6.1.0
opencv-python>=4.8.0
mediapipe>=0.10.0
pyserial>=3.5
pillow>=10.0.0
cryptography>=41.0.0
aiofiles>=23.0.0
scipy>=1.11.0
numpy<2.0.0,>=1.24.0

[advanced:sys_platform == "darwin"]
mlx>=0.4.0
mlx-lm>=0.4.0

[audio]
soundfile>=0.12.0
librosa>=0.10.0
pyaudio>=0.2.11
numpy<2.0.0,>=1.24.0
webrtcvad>=2.0.10
noisereduce>=3.0.0
openai-whisper>=20231117

[dev]
pytest>=7.0.0
pytest-asyncio>=0.21.0
black>=23.0.0
isort>=5.12.0
flake8>=6.0.0
mypy>=1.7.0
pytest-mock>=3.12.0
pytest-cov>=4.1.0
httpx>=0.25.0
pillow>=10.0.0

[ml]
torch>=2.1.0
accelerate>=0.24.0
optimum>=1.14.0
numpy<2.0.0,>=1.24.0
huggingface-hub>=0.20.0

[ml:sys_platform == "darwin"]
mlx>=0.4.0
mlx-lm>=0.4.0

[robotics]
pyserial>=3.5
pybullet>=3.2.5
numpy<2.0.0,>=1.24.0

[security]
cryptography>=41.0.0
aiofiles>=23.0.0
numpy<2.0.0,>=1.24.0

[vision]
opencv-python>=4.8.0
mediapipe>=0.10.0
pillow>=10.0.0
numpy<2.0.0,>=1.24.0
