# Code2Video - Essential Dependencies Only
# Last Updated: 2025-11-05
# See DEPENDENCY_ANALYSIS.md for detailed analysis

# ============================================================================
# Core API and Data Processing
# ============================================================================
openai==1.90.0              # LLM API calls (GPT, Claude, Gemini)
requests==2.32.4            # HTTP requests for asset downloads
numpy==2.2.6                # Numerical operations and statistics
scipy==1.15.3               # Statistical tests (scipy.stats)
psutil==7.0.0               # System resource monitoring
python-dotenv==1.1.0        # Environment variable management

# ============================================================================
# Manim Animation Framework (Core)
# ============================================================================
manim==0.19.0               # Core animation library
ManimPango==0.6.0           # Text rendering for Manim

# ============================================================================
# Graphics and Multimedia
# ============================================================================
pillow==11.2.1              # Image processing
opencv-python==4.12.0.88    # Video/image processing
moviepy==2.2.1              # Video manipulation
imageio==2.37.0             # Image I/O operations
imageio-ffmpeg==0.6.0       # FFmpeg wrapper
pydub==0.25.1               # Audio processing

# ============================================================================
# 3D Graphics and Rendering (Manim dependencies)
# ============================================================================
moderngl==5.12.0            # OpenGL rendering
moderngl-window==3.1.1      # OpenGL window management
glcontext==3.0.0            # OpenGL context
pyglet==2.1.6               # Windowing and multimedia
PyOpenGL==3.1.9             # OpenGL bindings
pycairo==1.28.0             # Cairo graphics library
skia-pathops==0.8.0.post2   # Path operations
svgelements==1.9.6          # SVG element handling
mapbox_earcut==1.0.3        # Polygon triangulation
isosurfaces==0.1.2          # 3D surface generation

# ============================================================================
# CLI and Terminal Utilities
# ============================================================================
click==8.2.1                # Command-line interface
cloup==3.0.7                # CLI utilities
rich==14.0.0                # Terminal formatting
tqdm==4.67.1                # Progress bars
watchdog==6.0.0             # File system monitoring

# ============================================================================
# Mathematical and Scientific Computing
# ============================================================================
networkx==3.5               # Graph operations (used by Manim)
sympy==1.14.0               # Symbolic mathematics (used by Manim)
mpmath==1.3.0               # Multiple-precision mathematics

# ============================================================================
# Data Parsing and Serialization
# ============================================================================
beautifulsoup4==4.13.4      # HTML/XML parsing
PyYAML==6.0.2               # YAML parsing
regex==2025.7.34            # Regular expressions

# ============================================================================
# HTTP and Networking
# ============================================================================
certifi==2025.6.15          # SSL certificates
charset-normalizer==3.4.3   # Character encoding detection
idna==3.10                  # Internationalized domain names
urllib3==2.5.0              # HTTP client library
h11==0.16.0                 # HTTP/1.1 protocol
httpcore==1.0.9             # HTTP client core
httpx==0.28.1               # Modern HTTP client (OpenAI dependency)
anyio==4.9.0                # Async I/O library (OpenAI dependency)
sniffio==1.3.1              # Async library detection

# ============================================================================
# API Client Dependencies
# ============================================================================
# These are indirect dependencies of openai and google-genai
google-genai==1.32.0        # Google Gemini API client
google-auth==2.40.3         # Google authentication
pydantic==2.11.7            # Data validation (OpenAI client dependency)
pydantic_core==2.33.2       # Pydantic core
annotated-types==0.7.0      # Type annotations support
typing_extensions==4.14.0   # Extended type hints
jiter==0.10.0               # Fast JSON iteration (Pydantic)
pyasn1==0.6.1               # ASN.1 types and codecs
pyasn1_modules==0.4.2       # ASN.1 protocol modules
rsa==4.9.1                  # RSA encryption (Google Auth)
cachetools==5.5.2           # Caching utilities

# ============================================================================
# Template and Markup Processing
# ============================================================================
Jinja2==3.1.6               # Template engine
MarkupSafe==3.0.2           # Safe string handling for Jinja2
markdown-it-py==3.0.0       # Markdown parser
mdurl==0.1.2                # Markdown URL utilities
Pygments==2.19.1            # Syntax highlighting

# ============================================================================
# Utility Libraries
# ============================================================================
decorator==5.2.1            # Decorator utilities
packaging==25.0             # Version parsing and comparison

# ============================================================================
# REMOVED DEPENDENCIES
# ============================================================================
# The following dependencies have been removed as they are not used:
#
# Machine Learning / Deep Learning (NOT USED):
# - accelerate, torch, torchvision, transformers, tokenizers, safetensors
# - qwen-vl-utils, triton
#
# NVIDIA CUDA (NOT USED - No GPU operations):
# - All nvidia-* packages (16 total)
#
# Hugging Face Ecosystem (NOT USED):
# - huggingface-hub, hf-xet, hf_transfer
#
# Unused Utilities:
# - av (moviepy handles video containers)
# - s-tui, urwid (system monitoring alternatives)
# - websockets (no WebSocket usage)
# - yt-dlp (no YouTube downloads)
# - srt (no subtitle processing)
# - proglog (tqdm is used instead)
# - Cython (build-time only)
# - distro, filelock, fsspec, tenacity
# - screeninfo, pyglm
#
# See DEPENDENCY_ANALYSIS.md for full details
