# Reversecore_MCP Python Dependencies
# This file is synchronized with pyproject.toml optional-dependencies
#
# Usage:
#   Minimal:  pip install -r requirements.txt
#   Full:     pip install -r requirements.txt -r requirements-full.txt
#
# Or via pyproject.toml:
#   pip install reversecore-mcp[full]

# ============================================================================
# Core Dependencies (always required)
# ============================================================================
mcp[cli]>=1.23.0
fastmcp>=2.13.0
fastapi>=0.100.0
uvicorn>=0.30.0
python-multipart>=0.0.27
aiofiles>=24.0.0
pydantic>=2.0
pydantic-settings>=2.0.0
loguru>=0.7.0
orjson>=3.9.15

# Templating for web dashboard
jinja2>=3.1.0

# ============================================================================
# Binary Analysis Tools
# ============================================================================
pefile>=2023.0.0
lief>=0.17.6
# 6.0.0a1+ fixes PVE-2024-73501 (buffer overflow); 5.x is vulnerable
capstone==6.0.0a7
keystone-engine>=0.9.2
yara-python>=4.5.0
r2pipe>=1.7.0

# ============================================================================
# Visualization
# ============================================================================
graphviz>=0.20.0
networkx>=3.0
matplotlib>=3.8.0

# ============================================================================
# CLI and Utilities
# ============================================================================
psutil>=5.9.0
requests>=2.31.0
typer>=0.25.0
rich>=13.0.0

# ============================================================================
# Optional: Ghidra Integration (comment out if not using)
# ============================================================================
pyghidra>=2.0.0,<4.0.0
jpype1>=1.4.0

# ============================================================================
# Optional: HTTP Mode Rate Limiting
# ============================================================================
slowapi>=0.1.9

# ============================================================================
# Optional: Async utilities
# ============================================================================
async-lru>=2.0.0
aiosqlite>=0.19.0
aiosmtplib>=3.0.0

# ============================================================================
# Optional: File type validation
# ============================================================================
python-magic>=0.4.27

# ============================================================================
# Environment management
# ============================================================================
python-dotenv>=1.2.2

# ============================================================================
# Optional: CAPA Capability Detection (complex dependencies, install separately)
# pip install flare-capa>=7.0.0
# ============================================================================
# flare-capa>=7.0.0  # Uncomment if needed, may cause resolution issues
