# Video Toolkit Python Dependencies
#
# NOTE: The recommended install path is now uv (https://docs.astral.sh/uv/):
#   uv sync                    # from the toolkit root — reads pyproject.toml + uv.lock
#   uv sync --extra whisper    # optional karaoke captions (heavy, pulls in torch)
#   uv sync --extra modal      # optional Modal CLI for self-hosted cloud GPU
#   uv sync --extra youtube    # optional YouTube upload deps
# This file is kept as a pip fallback only. Keep it in sync with pyproject.toml.
elevenlabs>=1.0.0
python-dotenv>=1.0.0
requests>=2.28.0
boto3>=1.28.0  # For Cloudflare R2 (S3-compatible)

# 60db TTS websocket transport (tools/sixtydb_tts.py --transport websocket).
# Optional: only needed for the realtime websocket transport; the default
# REST 'synthesize' transport uses `requests` above.
websocket-client>=1.6.0

# Image processing — used by tools/flux2.py, tools/image_edit.py, and the
# moviepy examples for PIL-based text rendering
Pillow>=10.0

# moviepy examples (examples/quick-spot, examples/data-viz-chart) —
# Python-native video composition as an alternative to Remotion for
# short-form ad spots, lower thirds, and data-driven scenes
moviepy>=2.0
matplotlib>=3.7

# Optional — YouTube upload (tools/youtube_upload.py) — OAuth 2.0 + Data API v3
# resumable upload. Only needed if you publish to YouTube. Uncomment to enable
# (the tool prints an install hint if they're missing). NOTE: pip package names
# differ from their import names, e.g.
#   google-api-python-client -> import googleapiclient
#   google-auth-oauthlib     -> import google_auth_oauthlib
#   google-auth-httplib2     -> (transport glue, pulled in transitively)
# google-api-python-client>=2.100.0
# google-auth-oauthlib>=1.2.0
# google-auth-httplib2>=0.2.0

# Optional — burned karaoke captions in templates/concept-explainer-short
# (word-level timing; heavy install, pulls in torch). Uncomment to enable:
# openai-whisper
