# Sanad — Python dependencies
# Install: pip install -r requirements.txt

# Dashboard
fastapi>=0.110.0
uvicorn[standard]>=0.29.0
python-multipart>=0.0.9

# Gemini voice
# google-genai: the Gemini Live SDK — used by gemini/script.py (live brain)
#   and gemini/client.py. Needs Python 3.10+, which is why the voice loop
#   runs in the gemini_sdk conda env. send_realtime_input(video=)/(text=)
#   and send_client_content() require a reasonably recent (>=1.x) release.
google-genai>=1.0.0
websockets>=12.0
pyaudio>=0.2.13

# Recognition (camera vision + face gallery for Gemini-side face recognition)
# opencv-python-headless: JPEG encode + USB-camera fallback. Headless wheel —
#                         the dashboard renders frames; we never need a GUI window.
# Pillow: resize face samples before the Gemini primer turn.
opencv-python-headless>=4.8.0
Pillow>=10.0.0
#
# pyrealsense2 — DO NOT `pip install` on Jetson / JetPack 5.
#   The PyPI wheel is built against glibc 2.32+ (Ubuntu 22.04); JetPack 5 ships
#   glibc 2.31, so the wheel fails to load with:
#     ImportError: ... version `GLIBC_2.32' not found
#   On Jetson, build the Python binding from source against the apt-installed
#   librealsense2 runtime (see README → "Camera vision on Jetson").
#   On x86_64 / Ubuntu 22.04+ desktops, `pip install pyrealsense2` works fine.
#   If pyrealsense2 is absent, CameraDaemon falls back to cv2.VideoCapture(0).
# pyrealsense2>=2.50.0   # intentionally commented — see note above

# Local TTS (optional — only needed for MBZUAI model)
transformers>=4.40.0
sentencepiece>=0.2.0
torch>=2.2.0
datasets>=2.19.0
soundfile>=0.12.0

# General
numpy>=1.24.0
