# OBS Recording Transcriber Dependencies
# Core dependencies
# streamlit>=1.30.0 required for protobuf>=5.0 compatibility
streamlit>=1.30.0
moviepy>=1.0.3
openai-whisper>=20231117
requests>=2.28.0
humanize>=4.6.0

# PyTorch ecosystem - DO NOT include here for Docker builds
# These are installed separately with CUDA support in Dockerfile.gpu
# For local installs: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# torchaudio >= 2.1.0 is REQUIRED for diarization to work properly

# Transformers ecosystem
transformers>=4.35.0
tokenizers>=0.14.0

# ML dependencies - use flexible versions for compatibility
numpy>=1.24.0
scipy>=1.10.0
scikit-learn>=1.3.0

# Audio processing and ML models
# speechbrain 1.0+ required for pyannote compatibility
speechbrain>=1.0.0
pyannote.audio>=3.1.1
pytorch-lightning>=2.0.0

# Other dependencies
iso639>=0.1.4
# protobuf>=5.0 required by opentelemetry (pyannote.audio dependency)
protobuf>=5.0.0
matplotlib>=3.5.0
soundfile>=0.10.3
ffmpeg-python>=0.2.0

# Optional: Ollama Python client (uncomment to install)
# ollama

# Installation notes:
# 1. For Windows users, you may need to install PyTorch separately:
#    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
#
# 2. For tokenizers issues, try installing Visual C++ Build Tools:
#    https://visualstudio.microsoft.com/visual-cpp-build-tools/
#
# 3. For pyannote.audio, you'll need a HuggingFace token with access to:
#    https://huggingface.co/pyannote/speaker-diarization-3.0
#
# 4. FFmpeg is required for audio processing:
#    Windows: https://www.gyan.dev/ffmpeg/builds/
#    Mac: brew install ffmpeg
#    Linux: apt-get install ffmpeg
