# Sanad Package 4 — Custom AI Guide Tour (sanad-guide) — self-contained deps.
# Pure-Python orchestrator: comms + mask + optional recognition + a `requests`/
# `websockets` bridge to the SEPARATE sanad-nav (web_nav3) ROS2 stack. NO ROS2 here.

# Web dashboard
fastapi
uvicorn[standard]
pydantic
python-multipart
websockets

# IPC bus shim + offline license verification
pyzmq
cryptography

# Numerics + image
numpy
Pillow

# Gemini Live voice + audio I/O
google-genai>=1.0.0
pyaudio
soundfile

# Nav bridge — WebNav3Client is pure `requests`; goal_monitor cancel uses `websockets`.
requests

# Optional recognition (when P3-entitled) — Gemini-side, cv2 for JPEG/USB capture.
opencv-python-headless

# Mask (BLE LED "Shining Mask") — per-stop expression/QR.
bleak==0.22.3
