# Core dependencies
click>=8.0.0
pyyaml>=6.0
rich>=13.0
markitdown>=0.1.0

# Web framework
flask>=2.3.0

# Audio/Video processing
SpeechRecognition>=3.10.0
moviepy>=1.0.3
pydub>=0.25.1

# OCR dependencies
pytesseract>=0.3.10
pillow>=10.0.0
opencv-python>=4.8.0
numpy>=1.24.0

# Document processing
python-docx>=1.0.0
python-pptx>=0.6.0
openpyxl>=3.1.0
pypdf>=3.17.0
pdfplumber>=0.10.0

# Development dependencies (optional)
pytest>=7.0.0
pytest-cov>=4.0.0
black>=23.0.0
ruff>=0.1.0
mypy>=1.0.0
pre-commit>=3.0.0

# Optional dependencies for enhanced features
beautifulsoup4>=4.12.0  # HTML processing
lxml>=4.9.0  # XML processing
pandas>=2.0.0  # Data processing for tables
matplotlib>=3.7.0  # For potential graph extraction
requests>=2.31.0  # Web fetching capabilities

# For production deployment
gunicorn>=21.2.0  # WSGI server
python-dotenv>=1.0.0  # Environment variable management

# AI/ML Integration dependencies
aiohttp>=3.9.0  # Async HTTP client
asyncio>=3.4.3  # Async support
sentence-transformers>=2.2.0  # Embeddings for RAG
faiss-cpu>=1.7.4  # Vector similarity search
tiktoken>=0.5.0  # Token counting
langchain>=0.1.0  # LLM orchestration (optional)
openai>=1.0.0  # OpenAI API (optional)

# Database and caching
sqlalchemy>=2.0.0  # ORM
alembic>=1.12.0  # Database migrations
redis>=5.0.0  # Redis client
psycopg2-binary>=2.9.0  # PostgreSQL adapter
elasticsearch>=8.11.0  # Elasticsearch client

# Monitoring and logging
prometheus-client>=0.19.0  # Metrics export
opentelemetry-api>=1.20.0  # Tracing
opentelemetry-sdk>=1.20.0  # Tracing SDK
opentelemetry-instrumentation-flask>=0.42b0  # Flask instrumentation
structlog>=23.2.0  # Structured logging

# API and serialization
pydantic>=2.5.0  # Data validation
marshmallow>=3.20.0  # Object serialization
fastapi>=0.104.0  # Alternative API framework (optional)
