{"id":15287609,"url":"https://gitlab.com/gridhead/obserware","last_synced_at":"2025-10-07T19:32:24.773Z","repository":{"id":57447691,"uuid":"31481950","full_name":"gridhead/obserware","owner":"gridhead","description":"An advanced system monitor utility written in Python and Qt","archived":false,"fork":false,"pushed_at":null,"size":null,"stargazers_count":15,"open_issues_count":6,"forks_count":2,"subscribers_count":null,"default_branch":"main","last_synced_at":"2025-03-21T05:06:38.934Z","etag":null,"topics":["Qt","monitoring","python"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0+","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://gitlab.com/uploads/-/system/project/avatar/31481950/icon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-21T03:02:45.133Z","updated_at":"2025-01-23T13:23:44.044Z","dependencies_parsed_at":"2022-09-15T22:12:34.782Z","dependency_job_id":null,"html_url":"https://gitlab.com/gridhead/obserware","commit_stats":null,"previous_names":["t0xic0der/obserware"],"tags_count":9,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gridhead%2Fobserware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gridhead%2Fobserware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gridhead%2Fobserware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/gridhead%2Fobserware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners/gridhead","download_url":"https://gitlab.com/gridhead/obserware/-/archive/main/obserware-main.zip","host":{"name":"gitlab.com","url":"https://gitlab.com","kind":"gitlab","repositories_count":4518649,"owners_count":6931,"icon_url":"https://github.com/gitlab.png","version":null,"created_at":"2022-05-30T11:31:42.605Z","updated_at":"2024-07-18T11:24:13.055Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners"}},"keywords":["Qt","monitoring","python"],"created_at":"2024-09-30T15:33:03.193Z","updated_at":"2025-10-07T19:32:19.727Z","avatar_url":"https://gitlab.com/uploads/-/system/project/avatar/31481950/icon.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Obserware\n\nAn advanced system monitor utility written in Python and Qt\n\n## About\n\nObserware 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\n\n- Advanced overview of the system health by monitoring CPU usage, memory utilization and swapping rate\n- Granular counts of context switches, system calls and interrupts of both natures, software and hardware\n- Per-core/per-thread CPU utilization, measured in both stress percentage and active clock speeds\n- Per-core/per-thread CPU state times, measured in both occupancy percentage and duration in seconds\n- Usage/availability information, measured in both occupancy percentage and active size in megabytes\n- Storage counters, measured in unit counts, size in bytes, duration in seconds, merge counts and busy time in seconds\n- Global network statistics gathered from all network interface cards, measured in packet count rate and size rate\n- Statistics of uploads and downloads made since boot, measured in packet counts and size in bytes\n- Per-NIC activity, transfer rate in packet counts and bytes, total transmission, dropped transfers and more\n- Per-unit metrics in both, occupancy percentage and active size of physical and logical partitions\n- Static information about mount location, file system, unit name and much more of physical and logical partitions\n- Dynamic listing of processes in process IDs, names, terminal, usernames, states, CPU and memory usage and thread counts\n- Per-process information with process IDs, CPU and memory usage, CPU/thread counts, context switches and more\n- Per-process control with options to kill, resume, terminate or suspend those on demand\n- Static software information on operating system and kernel as well as dependency versions for the application\n- Static hardware information on CPU name, vendor, frequency, available feature flags and more\n- While adapting to the global system-wide theming options on Qt-based desktop environments like KDE Plasma or LXQt\n\n## Find it on\n\n1. [**PyPI**](https://pypi.org/project/obserware/)  \n   [![PyPI version](https://img.shields.io/pypi/v/obserware?style=flat-square)](https://pypi.org/project/obserware/)  \n2. [**Fedora COPR**](https://copr.fedorainfracloud.org/coprs/t0xic0der/obserware/)  \n   [![Copr build status](https://copr.fedorainfracloud.org/coprs/t0xic0der/obserware/package/obserware/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/t0xic0der/obserware/package/obserware/)  \n3. [**Product Hunt**](https://www.producthunt.com/posts/obserware)  \n   1. [Vote](https://www.producthunt.com/posts/obserware?utm_source=badge-featured\u0026utm_medium=badge\u0026utm_souce=badge-obserware)  \n      [![](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=321452\u0026theme=dark)](https://www.producthunt.com/posts/obserware?utm_source=badge-featured\u0026utm_medium=badge\u0026utm_souce=badge-obserware)  \n   2. [Review](https://www.producthunt.com/posts/obserware?utm_source=badge-review\u0026utm_medium=badge\u0026utm_souce=badge-obserware#discussion-body)  \n      [![](https://api.producthunt.com/widgets/embed-image/v1/review.svg?post_id=321452\u0026theme=dark)](https://www.producthunt.com/posts/obserware?utm_source=badge-review\u0026utm_medium=badge\u0026utm_souce=badge-obserware#discussion-body)  \n\n## Installation\n\n### For development\n\n#### Using Poetry\n\n1. `sudo dnf install python3-poetry`\n2. `git clone https://gitlab.com/t0xic0der/obserware.git`\n3. `cd obserware`\n4. `virtualenv venv`\n5. `source venv/bin/activate`\n6. `poetry install`\n7. `deactivate`\n\n### For consumption\n\n#### From Fedora COPR\n\n1. `sudo dnf install dnf-plugins-core -y`\n2. `sudo dnf copr enable t0xic0der/obserware -y`\n3. `sudo dnf install obserware -y`\n\n#### From PyPI\n\n1. `virtualenv venv`\n2. `source venv/bin/activate`\n3. `pip3 install obserware`\n4. `deactivate`\n\n## Usage\n\n### For development\n\n#### If installed via Poetry\n\n1. `source venv/bin/activate`\n2. `obserware`\n3. `deactivate`\n\n### For consumption\n\n#### If installed from Fedora COPR\n\n1. Either, run `obserware` in a terminal\n2. Or, invoke the created desktop entry\n\n#### If installed from PyPI\n\n1. `source venv/bin/activate`\n2. `obserware`\n3. `deactivate`\n\n## Screenshots\n\n1. **Windows**  \n   1. _Resources tabscreen_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_mainrsrc.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_mainrsrc.png)  \n   2. _Activities tabscreen_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_mainproc.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_mainproc.png)  \n   3. _Performance tabscreen_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_mainperf.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_mainperf.png)  \n   4. _Connections tabscreen_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_mainproc.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_mainntwk.png)  \n   5. _Partitions tabscreen_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_mainpart.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_mainpart.png)  \n   6. _Information tabscreen_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_maininfo.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_maininfo.png)  \n   7. _Contribute tabscreen_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_maincntb.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_maincntb.png)  \n2. **Dialogs**  \n   1. _Process information dialog_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_procwind.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_procwind.png)  \n3. **Logging**  \n   1. _Sample log outputs_  \n      Find [here](https://gitlab.com/t0xic0der/obserware/-/blob/main/screenshots/obsr_logetext.png)  \n      ![](https://gitlab.com/t0xic0der/obserware/-/raw/main/screenshots/obsr_logetext.png)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fgridhead%2Fobserware","html_url":"https://awesome.ecosyste.ms/projects/gitlab.com%2Fgridhead%2Fobserware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fgridhead%2Fobserware/lists"}