# Niki Desktop v2 helper — Python 3.11+ recommended.
#
# faster-whisper: CTranslate2-based Whisper runner. Real-time on CPU for
#   small.en (int8) and well under real-time on CUDA (fp16). Pre-built wheels
#   on PyPI for Windows, macOS, and Linux.
#
# sounddevice: PortAudio binding. The PortAudio binary ships in the wheel on
#   Windows + macOS; on Linux the portaudio19-dev package may be needed.
#
# websockets: pure-Python WebSocket server. 12.x is the current series.
#
# pyttsx3: last-ditch cross-platform native TTS (SAPI on Windows,
#   NSSpeechSynthesizer on macOS, espeak on Linux). The default TTS path is
#   Piper — pyttsx3 only fires if the Piper voice model can't be downloaded.
#
# piper-tts: neural TTS that runs on local CPU/GPU. ~60 MB voice model
#   downloaded on first launch and cached at ~/.niki-desktop/piper-voices.
#   MUCH better quality than pyttsx3, $0 ongoing cost, POPIA-clean
#   (everything stays on-device).
#
# numpy is a transitive dep of faster-whisper, pinned here for clarity.

faster-whisper>=1.0.3
sounddevice>=0.4.6
websockets>=12.0
pyttsx3>=2.90
piper-tts>=1.2.0
numpy>=1.24

# v2 GPU acceleration — faster-whisper auto-detects CUDA at runtime but
# only finds it if these NVIDIA runtime libs are present in the Python env.
# ~250 MB total download. Skipped silently on machines without an NVIDIA
# GPU (CTranslate2 falls back to CPU int8 automatically).
nvidia-cublas-cu12; sys_platform != "darwin"
nvidia-cudnn-cu12; sys_platform != "darwin"
