# ============================================================================
# ShadowHunter - Dark Web Threat Intelligence Platform
# Dependencies
# Version: 2.0.0
# ============================================================================

# Core Framework
fastapi>=0.109.0
uvicorn[standard]>=0.27.0
pydantic>=2.5.0
python-jose[cryptography]>=3.3.0
passlib[bcrypt]>=1.7.4
python-multipart>=0.0.6

# Async HTTP & Networking
aiohttp>=3.9.0
httpx>=0.26.0
aiofiles>=23.2.0
aiolimiter>=1.1.0
websockets>=12.0

# Telegram Integration
telethon>=1.34.0
python-telegram-bot>=20.7

# Tor Network
PySocks>=1.7.1
stem>=1.8.2
requests[socks]>=2.31.0

# Database
neo4j>=5.16.0
asyncpg>=0.29.0
aiosqlite>=0.19.0
redis>=5.0.0

# DNS & WHOIS
dnspython>=2.5.0
python-whois>=0.8.0

# CLI Interface
click>=8.1.7
rich>=13.7.0
colorama>=0.4.6

# Email
jinja2>=3.1.3
aiosmtplib>=3.0.0

# Data Processing
beautifulsoup4>=4.12.3
lxml>=5.1.0
html5lib>=1.1
python-dateutil>=2.8.2

# Security & Crypto
cryptography>=41.0.0
# hashlib-compat removed: stdlib hashlib used; package obsolete/unavailable on PyPI

# Logging & Monitoring
structlog>=24.1.0
prometheus_client>=0.19.0

# Testing
pytest>=7.4.4
pytest-asyncio>=0.23.3
pytest-cov>=4.1.0
httpx>=0.26.0

# Development
black>=24.1.0
isort>=5.13.2
mypy>=1.8.0
flake8>=7.0.0

# Archive Handling (for Stealer Log Parser)
patool>=2.0.0
py7zr>=0.20.0
rarfile>=4.1

# Optional - Graph Visualization
# networkx>=3.2.1
# pyvis>=0.3.2

# Ingestion pipeline (MVP: I2P, STIX, Neo4j)
stix2>=3.0.0
i2plib>=0.0.14

# Optional - Neo4j Graph Data Science (Phase 2: link prediction, Shadow Score)
# graphdatascience>=1.19.0

# Optional - Machine Learning (for threat prediction)
# scikit-learn>=1.4.0
# pandas>=2.1.4
# numpy>=1.26.3

# Optional - Image Processing (for OSINT)
# pillow>=10.2.0
# imagehash>=4.3.1

# Phase 3: Hunters & Orchestration
scikit-learn>=1.4.0
numpy>=1.26.0
scipy>=1.12.0
monero-python>=0.3.0
requests>=2.31.0

# Phase 3: NL-to-Cypher (OpenAI-compatible endpoints; local Ollama supported via OPENAI_BASE_URL)
openai>=1.0.0

# Optional: multi-model LLM for dark web search (Claude, Gemini); OpenAI/xAI/Ollama use openai above
# pip install anthropic google-generativeai  # for --model claude-* / gemini-*
# anthropic>=0.39.0
# google-generativeai>=0.8.0
