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

No packages published