# ============================================
# BANGTRIXTOOLKIT - Dependencies
# ============================================
# Install with: pip install -r requirements.txt
#
# MINIMAL DEPENDENCIES (as few as possible)
# ============================================
# NEW in v5.0: Universal Hardware Monitor
# - Works with AMD, NVIDIA, Intel GPUs on Windows + Linux
# - Uses standard library for most operations
# - pynvml is OPTIONAL (NVIDIA-only)
# - psutil is OPTIONAL (system RAM fallback)

# ============================================
# 📡 WebSocket & HTTP Server (REQUIRED)
# ============================================
# Required for hardware monitor WebSocket streaming
aiohttp>=3.8.0
async-timeout>=4.0.0

# ============================================
# 🌐 HTTP Client (Optional - translate node)
# ============================================
# Google Translate API + GitHub API (LHM download)
# NOTE: If not installed, Python urllib will be used
requests>=2.31.0

# ============================================
# 🖥️ System Monitoring (OPTIONAL - RECOMMENDED)
# ============================================
# psutil provides better system RAM monitoring
# Without it, the fallback reads /proc/meminfo on Linux
psutil>=5.9.0

# ============================================
# 🎮 NVIDIA GPU - pynvml (OPTIONAL)
# ============================================
# pynvml provides the most accurate stats for NVIDIA GPUs
# on both Windows and Linux. If not installed, the monitor
# falls back to:
#   Windows: PDH Performance Counters (Task Manager source)
#   Linux:   nvidia-smi CLI parsing
# pynvml

# ============================================
# 🪟 Windows ADL - AMD Display Library (OPTIONAL)
# ============================================
# For GPU temperature/fan via ADL on legacy AMD drivers
# Most users do NOT need this - PDH counters are preferred
# pyadl>=1.0.0; sys_platform == "win32"

# ============================================
# 🐧 Linux ROCm - pyrsmi (OPTIONAL - NOT RECOMMENDED)
# ============================================
# The universal monitor reads AMD GPU stats directly
# from /sys/class/drm/ sysfs files — NO ROCm needed!
# pyrsmi>=0.2.0; sys_platform == "linux"

# ============================================
# 🌡️ LibreHardwareMonitor (Windows - OPTIONAL)
# ============================================
# Auto-downloaded from GitHub at runtime if needed.
# Reads: Temperature, Fan, Clock, Power, Load via WMI.
# Not required — PDH counters are preferred.