Skip to content
CursedProgramsPublic

About

Lightweight cross-platform system monitor in Python: live CPU, RAM, temperature and NVIDIA GPU stats in the terminal or a Tkinter GUI. Uses psutil and NVML, with one-click launchers for Windows and Linux/macOS.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

Repository files navigation

Twitter: @NorowaretaGemu License: MIT



Python
Git PowerShell Shell Batch

PyVitals

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.

Features

  • 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)

Quick Start

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.bat

or in PowerShell:

.\run.ps1

If PowerShell blocks the script, run it with powershell -ExecutionPolicy Bypass -File .\run.ps1.

Linux / macOS

chmod +x run.sh
./run.sh

On Debian/Ubuntu, first install the venv and Tkinter packages:

sudo apt update
sudo apt install python3-venv python3-tk

To 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

Manual Setup

python -m venv venv

# Windows
venv\Scripts\activate
# Linux / macOS
source venv/bin/activate

pip install --upgrade pip
pip install -r requirements.txt

Then start the menu, or run a monitor directly:

python main.py             # menu
python vitals.py           # console monitor
python vitals-tkinter.py   # GUI monitor

Windows: if python opens the Microsoft Store, install Python from python.org with "Add python.exe to PATH" ticked, or use the py launcher instead (py -m venv venv).


Requirements

  • Python 3.9+
  • psutil: CPU, RAM and sensor stats
  • nvidia-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 from sudo apt install python3-tk

Note: psutil only reads temperature sensors on Linux (and some BSDs). On Windows and macOS the temperature line shows "Unsupported".


Project Structure

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

Running Tests

pip install pytest
pytest

© Cursed Entertainment 2026


The DREAM Robotics ecosystem

Minds — 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

About

Lightweight cross-platform system monitor in Python: live CPU, RAM, temperature and NVIDIA GPU stats in the terminal or a Tkinter GUI. Uses psutil and NVML, with one-click launchers for Windows and Linux/macOS.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages