# Sanad Package 2 — Premium Communication — self-contained dependency set.
# python:3.10-slim base. P1's comms deps + the premium additions (mask BLE + face).
# No torch/opencv/pyrealsense2 — P2 is comms + arm gestures + mask (no vision/CUDA).

# Web dashboard (FastAPI SPA + websockets)
fastapi
uvicorn[standard]
pydantic
python-multipart
websockets

# IPC bus shim + offline license verification
pyzmq
cryptography

# Audio framing
numpy

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

# Premium: BLE LED "Shining Mask" + lifelike face rendering
#   bleak PINNED to 0.22.3 — bleak 3.x throws KeyError 'Roles' on the Jetson's
#   BlueZ 5.53 and every connect fails (see marcus_mask_bleak_bluez_pin).
bleak==0.22.3
Pillow

# NOTE: unitree_sdk2py is NOT on PyPI. Built from source in the Dockerfile when
# WITH_UNITREE_SDK=1 (default) for chest ('builtin') audio + arm over DDS.
