An advanced system monitor utility written in Python and Qt

Installation Instructions


Obserware makes monitoring of advanced metrics accessible with the use of interactive graphs and charts. It is built on free and open-source technologies such as Python, Psutil, PyCPUinfo, Distro and Qt5. With the use of the utility, you can monitor

  • Advanced overview of the system health by monitoring CPU usage, memory utilization and swapping rate
  • Granular counts of context switches, system calls and interrupts of both natures, software and hardware
  • Per-core/per-thread CPU utilization, measured in both stress percentage and active clock speeds
  • Per-core/per-thread CPU state times, measured in both occupancy percentage and duration in seconds
  • Usage/availability information, measured in both occupancy percentage and active size in megabytes
  • Storage counters, measured in unit counts, size in bytes, duration in seconds, merge counts and busy time in seconds
  • Global network statistics gathered from all network interface cards, measured in packet count rate and size rate
  • Statistics of uploads and downloads made since boot, measured in packet counts and size in bytes
  • Per-NIC activity, transfer rate in packet counts and bytes, total transmission, dropped transfers and more
  • Per-unit metrics in both, occupancy percentage and active size of physical and logical partitions
  • Static information about mount location, file system, unit name and much more of physical and logical partitions
  • Dynamic listing of processes in process IDs, names, terminal, usernames, states, CPU and memory usage and thread counts
  • Per-process information with process IDs, CPU and memory usage, CPU/thread counts, context switches and more
  • Per-process control with options to kill, resume, terminate or suspend those on demand
  • Static software information on operating system and kernel as well as dependency versions for the application
  • Static hardware information on CPU name, vendor, frequency, available feature flags and more

Featured on

  1. I made an advanced system monitor for GNU/Linux distributions in Python 3.10 and Qt 5.15.0 for fun - Hope you like it! (r/python on Reddit)
  2. I made an advanced system monitor for GNU/Linux distributions in Python 3.10 and Qt 5.15.0 for fun - Hope you like it! (r/opensource on Reddit)
  3. Obserware (PyPI)
  4. Obserware (Product Hunt) - Vote and Review ![](upload://9NhYp6OF0VOmNnTAbuP7qYMwYof.svg) ![](upload://tZgp7PDlLMhszScy4hXM5yfGP9m.svg)


For development

Using Poetry
  1. sudo dnf install python3-poetry
  2. git clone https://gitlab.com/t0xic0der/obserware.git
  3. cd obserware
  4. virtualenv venv
  5. source venv/bin/activate
  6. poetry install
  7. deactivate

For consumption

From Fedora COPR
  1. sudo dnf install dnf-plugins-core -y
  2. sudo dnf copr enable t0xic0der/obserware -y
  3. sudo dnf install obserware -y
From PyPI
  1. virtualenv venv
  2. source venv/bin/activate
  3. pip3 install obserware
  4. deactivate


For development

If installed via Poetry
  1. source venv/bin/activate
  2. obserware
  3. deactivate

For consumption

If installed from Fedora COPR
  1. Either, run obserware in a terminal
  2. Or, invoke the created desktop entry
If installed from PyPI
  1. source venv/bin/activate
  2. obserware
  3. deactivate


  1. Windows
    1. Performance tabscreen Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_mainperf.png ![](upload://egcDbnfkYgZdnQbar3IpKaWAf5Z.png)
    2. Processes tabscreen Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_mainproc.png ![](upload://yWk66W9Qg3GzX1NvR66FuH9Emf8.png)
    3. Information tabscreen Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_maininfo.png ![](upload://x7U2nYFMQ6wD7cMkmZrnFoGF2ru.png)
    4. Contribute tabscreen Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_maincntb.png ![](upload://gWCbKxEcloO5kHRRG8L6M9e48iD.png)
  2. Dialogs
    1. CPU cycles dialog Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_cyclwind.png ![](upload://otP0UI1vCep4ZTYWzjetnzZ31u9.png)
    2. CPU times dialog Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_cputwind.png ![](upload://n83Fohp1K3w9e1Eh00q31yWVWI1.png)
    3. Storage counters dialog Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_sostwind.png ![](upload://pRqKlLRzkhwRJu9XUI2ao9xwjqe.png)
    4. Network statistics dialog Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_ntwkwind.png ![](upload://8g045lVYdDU4yj2MjefQQLpz7hq.png)
    5. Physical partitions dialog Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_phptwind.png ![](upload://miF2qCoYPyFE6qiqbBxIKpo18Vn.png)
    6. Logical partitions dialog Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_lgptwind.png ![](upload://c86ZfZ1e4byXyGJi3FAGUvRIiPd.png)
    7. Process information dialog Find here https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_procwind.png ![](upload://aOgQhQlKe18gjzeBSlyrdRgS6E7.png)

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

* Total number of packages downloaded in the last seven days.

This is a companion discussion topic for the original entry at https://copr.fedorainfracloud.org/coprs/t0xic0der/obserware/