# CPU / RAM monitoring — required by all providers
psutil

# NVIDIA GPU monitoring — required by NvidiaProvider only
# Safe to install on Intel/AMD machines; unused if no NVIDIA driver is present
pynvml

# AMD GPU monitoring — primary path on Windows via ADLX (AMD official SDK).
# Enables full telemetry (load/clock/temp/VRAM/power) on Windows AMD machines.
#
# NOT auto-installed, deliberately.  ADLXPybind ships a native extension that
# delay-loads AMD's amdadlx64.dll; on a machine where that DLL exists but the
# AMD runtime is not actually usable, loading it can kill the whole process with
# a *native* access violation — which no Python try/except can contain, so
# ComfyUI dies while custom nodes are imported (v1.0.12 crash report).
# Installing it for every Windows user — including pure Intel / NVIDIA machines
# that gain nothing from it — is therefore not acceptable.
#
# Windows AMD users opt in for full telemetry:
#   pip install ADLXPybind
#   docs: https://gpuopen.com/adlx/
# Without it the monitor still reports CPU / RAM and logs an explicit hint.
# ADLXPybind; platform_system == "Windows"

# AMD GPU monitoring — secondary path on ROCm / Linux (official successor to rocm_smi)
# NOT auto-installed: amdsmi requires a proper ROCm environment and can fail on
# plain pip install. Install manually on ROCm machines if needed:
#   pip install amdsmi
#   install docs: https://rocm.docs.amd.com/projects/amdsmi/en/latest/install/install.html
# amdsmi

# ---------------------------------------------------------------------------
# The following are provided by ComfyUI itself — DO NOT add them here.
# Listed for reference only so manual environment setups know the minimums.
# ---------------------------------------------------------------------------
#
# torch >= 2.5
#   torch.xpu (Intel Arc) was officially introduced in PyTorch 2.5.
#   torch.cuda (NVIDIA) has been stable since PyTorch 1.x.
#   Install the XPU-enabled build from: https://pytorch.org/get-started/locally/
#
# aiohttp >= 3.8
#   Used for HTTP routes and WebSocket broadcast (web.json_response, server.send_json).
#   ComfyUI already depends on aiohttp; no separate installation needed.
