# OBS Recording Transcriber Dependencies
# Core dependencies with pinned compatible versions
streamlit==1.26.0
moviepy==1.0.3
openai-whisper==20231117
requests>=2.28.0
humanize>=4.6.0

# PyTorch ecosystem - updated for SpeechBrain 1.0 compatibility
# torchaudio >= 2.1.0 is REQUIRED for diarization to work properly
# NOTE: For Docker GPU builds, these are installed separately from cu118 index
torch>=2.1.0
torchaudio>=2.1.0
torchvision>=0.16.0

# Transformers ecosystem - compatible versions
transformers==4.35.0
tokenizers>=0.14.0

# ML dependencies with compatible versions
numpy==1.24.3
scipy==1.10.1
scikit-learn==1.3.0

# Audio processing and ML models
# Pin speechbrain for stability with pyannote.audio
speechbrain==1.0.0
pyannote.audio==3.1.1
pytorch-lightning==2.1.0

# Other dependencies
iso639>=0.1.4
protobuf>=3.20.0,<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
