Skip to content

GUI app for the real time monitoring of the system CPU and RAM

License

Notifications You must be signed in to change notification settings

earthinversion/SystemMonitorApp

Repository files navigation

System Monitor App

I built this desktop app to track live machine health with a fast PyQt5 dashboard.

Why this version is stronger

  • I split the project into a real src/system_monitor package instead of a single script.
  • I added service-layer modules so UI and metrics logic are cleanly separated.
  • I introduced test coverage for core logic to show engineering discipline.
  • I added optional CSV metrics export for data analysis workflows.

Features

  • Live CPU and RAM circular usage indicators
  • Toggleable CPU, RAM, or combined CPU+RAM time-series graph with rolling history
  • Disk usage, process count, and network throughput strip
  • Uptime and capture timestamp visibility
  • Resizable dashboard window with maximize and minimize support
  • Splash screen startup flow
  • Optional CSV telemetry export

Quick Start

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python systemMonitor.py

Make Targets

make install
make run
make run APP_ARGS="--start-maximized"
make status
make close

Platform Support

  • I designed the app itself to run on macOS, Linux, and Windows.
  • I currently use a Unix-style Makefile, so make install/run/close/status is for macOS and Linux.
  • On Windows, I run the same app with Python commands directly.
  • On macOS, make run automatically stages Qt runtime plugins into qt_runtime/ to avoid Cocoa plugin issues from hidden virtualenv paths.

Windows Quick Start (PowerShell)

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python systemMonitor.py

Runtime Options

python systemMonitor.py --interval-ms 1000 --history-seconds 30
python systemMonitor.py --export-csv data/metrics.csv
python systemMonitor.py --no-splash
python systemMonitor.py --start-maximized

Repository Layout

.
├── src/system_monitor/
│   ├── app.py
│   ├── constants.py
│   ├── models.py
│   ├── services/
│   └── ui/
├── tests/
├── docs/
├── main.ui
├── splash_screen.ui
└── systemMonitor.py

Test

python -m unittest discover -s tests

System Monitor screenshot

About

GUI app for the real time monitoring of the system CPU and RAM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors