# AGIBOT A3 - Voice Control : Python dependencies
# Install with:  pip install -r requirements.txt

# --- core (always needed) ---------------------------------------------------
fastapi>=0.110
uvicorn[standard]>=0.27
python-dotenv>=1.0
pydantic>=2.5

# --- transports -------------------------------------------------------------
httpx>=0.27          # HTTP/REST transport (keep-alive client)
websockets>=12.0     # WebSocket transport + uvicorn ws support

# --- simulator audio (MOCK_LOCAL_AUDIO=true) --------------------------------
# Lets the simulator speak through this PC's speakers. Windows only; on other
# systems the app uses built-in commands and needs nothing installed.
comtypes>=1.2 ; sys_platform == "win32"

# --- optional ---------------------------------------------------------------
# paramiko>=3.4      # A3_TRANSPORT=ssh with password authentication
#
# Simulator audio without comtypes: Windows falls back to PowerShell's
# System.Speech (always present, just slower to start). macOS uses `say`.
# Linux needs:  sudo apt install espeak-ng
#
# ROS 2 transport (A3_TRANSPORT=ros2) needs `rclpy`, which is NOT installed via
# pip - it comes from a ROS 2 installation. Run the app from a sourced ROS 2
# environment if you use that transport.
