# FastAPI and server dependencies
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
pydantic>=2.5.0
python-multipart>=0.0.6  # for multipart form data parsing
requests>=2.31.0  # for HTTP requests

# llama-cpp-python is installed by build.sh with Vulkan support
# CMAKE_ARGS="-DGGML_VULKAN=ON" pip install llama-cpp-python --no-cache-dir

# System resource detection
psutil>=5.9.0
# procname>=0.3.0  # optional - uncomment to set process name (requires libproc2-dev)

# HuggingFace Hub for downloading GGUF models
huggingface-hub>=0.19.0

# Optional: Audio transcription without PyTorch (whispercpp)
# Note: faster-whisper requires PyTorch, but whispercpp works without it
whispercpp>=0.0.17  # For GGUF-based Whisper transcription without PyTorch

# Voice cloning (F5-TTS zero-shot voice cloning)
f5-tts>=1.1.0

# Audio ML separation / restoration
# These run outside the Vulkan text backend path but are required for full-quality audio workflows.
demucs>=4.0.1
deepfilternet>=0.5.6
rnnoise>=0.2.1
voicefixer>=0.1.3

# Face swap (insightface INSwapper — downloads inswapper_128.onnx on first use)
insightface>=0.7.3
onnxruntime>=1.20.0            # CPU ONNX runtime (use onnxruntime-gpu for GPU acceleration)
