# Core dependencies - needed for all modes
fastapi>=0.115.14
starlette>=0.40.0,<0.47.0
sse-starlette<3.0.0
uvicorn>=0.24.0
uvicorn[standard]>=0.24.0
gunicorn>=21.0.0
python-multipart>=0.0.6
python-dotenv>=1.0.0
loguru>=0.7.2
tenacity>=8.2.3
pydantic>=2.5.2,<3.0.0
typing-extensions>=4.8.0

reportlab-4.5.1

# Auth
PyJWT>=2.8.0
cryptography>=41.0.0
fastapi-clerk-auth>=0.0.7

# Database
sqlalchemy>=2.0.25

# Payment
stripe>=8.0.0

# HTTP clients
httpx>=0.28.1
aiohttp>=3.9.0
requests>=2.31.0

# AI - needed for podcast
openai>=1.3.0
google-genai>=1.0.0
exa-py==1.9.1

# ML - semantic similarity for GSC keyword enrichment
sentence-transformers>=3.0.0
tf-keras>=2.0.0

# Text processing
markdown>=3.5.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
advertools>=0.14.0

# Data processing
pandas>=2.0.0
numpy>=1.24.0

# Image/media for podcast
Pillow>=10.0.0
matplotlib>=3.8.0
huggingface_hub>=1.1.4

# TTS for podcast
gtts>=2.4.0
pyttsx3>=2.90

# Video composition
moviepy==2.1.2
imageio>=2.31.0
imageio-ffmpeg>=0.4.9

# Testing
pytest>=7.4.0
pytest-asyncio>=0.21.0

# Task scheduling
apscheduler>=3.10.0

# Utilities
redis>=5.0.0
schedule>=1.2.0
aiofiles>=23.2.0
psutil>=5.9.0

# Google APIs
google-api-python-client>=2.100.0
google-auth>=2.23.0
google-auth-oauthlib>=1.0.0

# Other utilities
python-dateutil>=2.8.0
jinja2>=3.1.0
pydantic-settings>=2.0.0
