# MARSYS Framework - Core Dependencies
# Conservative version updates - tested for compatibility
# For installation options, see README.md

# ============================================================================
# CORE FRAMEWORK
# ============================================================================
pydantic>=2.11.9
requests>=2.32.3
psutil>=7.1.0
packaging>=25.0
aiohttp>=3.12.15
pyyaml>=6.0.2

# ============================================================================
# BROWSER AUTOMATION
# ============================================================================
playwright>=1.55.0
pillow>=11.3.0
beautifulsoup4>=4.14.2
lxml>=6.0.2
brotli>=1.1.0
markdownify>=1.2.0

# ============================================================================
# UI / TERMINAL
# ============================================================================
rich>=14.1.0
textual>=6.2.0
python-dateutil>=2.9.0

# ============================================================================
# TOOLS
# ============================================================================
pypdf>=3.0.0
googlesearch-python>=1.3.0
# PyMuPDF for PDF text/image extraction and layout analysis (core dependency)
PyMuPDF>=1.26.0
chardet>=5.2.0

# ============================================================================
# LOGGING
# ============================================================================
structlog>=25.4.0
python-json-logger>=2.0.7

# ============================================================================
# VALIDATION
# ============================================================================
jsonschema>=4.23.0

# ============================================================================
# OPTIONAL: LOCAL MODELS (install with: pip install marsys[local-models])
# ============================================================================
# torch>=2.6.0
# torchvision>=0.23.0
# transformers>=4.54,<5.0
# accelerate>=1.5.2
# peft>=0.17.1
# trl>=0.22.1
# datasets>=4.1.1
# decord>=0.6.0
# qwen-vl-utils>=0.0.8

# ============================================================================
# OPTIONAL: PRODUCTION (install with: pip install marsys[production])
# ============================================================================
# vllm>=0.10.2
# flash-attn>=2.7.4.post1
# triton>=3.4.0
# ninja>=1.13.0

# ============================================================================
# OPTIONAL: DEVELOPMENT (install with: pip install marsys[dev])
# ============================================================================
# pytest>=8.4.1
# pytest-asyncio>=1.0.0
# pytest-mock>=3.14.1
# pytest-cov>=6.2.1
# black>=25.0.0
# flake8>=7.1.0
# mypy>=1.13.0
# mkdocs>=1.6.1
# mkdocs-material>=9.6.21

# ============================================================================
# NOTES
# ============================================================================
# 1. This file contains ONLY core dependencies for default installation
# 2. Optional features use extras: [local-models], [production], [dev]
# 3. Transitive dependencies (e.g., nvidia-*, huggingface-hub) are auto-installed
# 4. pypdf>=3.0.0 is compatible with PyPDF2 API (replaces deprecated PyPDF2)
# 5. python-json-logger kept at v2.x (v3.x requires testing before upgrade)
#
# Installation:
#   pip install marsys                   # Core only
#   pip install marsys[local-models]     # + PyTorch & Transformers
#   pip install marsys[production]       # + vLLM & Flash Attention
#   pip install marsys[dev]              # + All testing/docs tools
