A lightweight, cross-platform system monitor written in Python. It shows live CPU, RAM, temperature and NVIDIA GPU stats in either the terminal or a small Tkinter window.
- CPU usage: overall utilisation, refreshed every 2 seconds
- RAM usage: percentage used and total installed memory
- Temperatures: hardware sensor readings where the OS exposes them (Linux)
- NVIDIA GPU: temperature, utilisation and memory used, via NVML (optional)
- Two front ends: a console monitor (
vitals.py) and a Tkinter GUI (vitals-tkinter.py) - One-click launchers: for Windows (
run.bat,run.ps1) and Linux/macOS (run.sh)
The launcher scripts create a virtual environment (psdenv), install the requirements and open the menu. Run the one for your system from the project folder.
Windows
run.bator in PowerShell:
.\run.ps1If PowerShell blocks the script, run it with powershell -ExecutionPolicy Bypass -File .\run.ps1.
Linux / macOS
chmod +x run.sh
./run.shOn Debian/Ubuntu, first install the venv and Tkinter packages:
sudo apt update
sudo apt install python3-venv python3-tkTo set up the environment without launching, run setup.bat, .\setup.ps1 or ./setup.sh. install_requirements.bat does the same thing.
The menu then lets you pick:
| Option | Runs | Description |
|---|---|---|
1 |
vitals.py |
Console system monitor (Ctrl+C to stop) |
2 |
vitals-tkinter.py |
Tkinter GUI system monitor |
00 |
scripts/install_dependencies.py |
Install the requirements |
q |
Quit |
python -m venv venv
# Windows
venv\Scripts\activate
# Linux / macOS
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtThen start the menu, or run a monitor directly:
python main.py # menu
python vitals.py # console monitor
python vitals-tkinter.py # GUI monitorWindows: if
pythonopens the Microsoft Store, install Python from python.org with "Add python.exe to PATH" ticked, or use thepylauncher instead (py -m venv venv).
- Python 3.9+
psutil: CPU, RAM and sensor statsnvidia-ml-py: NVIDIA GPU stats (optional; without it or an NVIDIA GPU, the GPU line shows "Not available")tkinter: GUI only; ships with Python on Windows and macOS, and on Linux comes fromsudo apt install python3-tk
Note:
psutilonly reads temperature sensors on Linux (and some BSDs). On Windows and macOS the temperature line shows "Unsupported".
PySysMonitor/
├── main.py # Script menu
├── vitals.py # Console monitor
├── vitals-tkinter.py # Tkinter GUI monitor
├── config.json # App config
├── requirements.txt
├── scripts/
│ └── install_dependencies.py
├── tests/
│ └── test_vitals.py
├── run.bat / run.ps1 / run.sh # Launchers
└── setup.bat / setup.ps1 / setup.sh
pip install pytest
pytestMinds — DREAM companion · TINA engineer · NINA caretaker · RIFT fleet hub · LYCEA training school
Robots — NORA · MILA · WHIP · KIDA-00 · KIDA-01 · IDA · ARM
Tools — CRUSH compression · Image-Generator · GloriosaAI · SynthWomb · PyVitals