Metadata-Version: 2.4
Name: klv-system-monitor
Version: 0.1.1
Summary: Cross-platform-ish system monitor (tested on Linux & Windows). Clean PyQt UI for CPU, memory, network and filesystems.
Author-email: Karel López Vilaret <karel.mauricio.lopez.vilaret@uni-oldenburg.de>
License: MIT License
        
        Copyright (c) 2025 TimeMatters
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/karellopez/KLV-System-Monitor
Project-URL: Repository, https://github.com/karellopez/KLV-System-Monitor
Project-URL: Issues, https://github.com/karellopez/KLV-System-Monitor/issues
Project-URL: Changelog, https://github.com/karellopez/KLV-System-Monitor/releases
Project-URL: Author (LinkedIn), https://www.linkedin.com/in/karel-l%C3%B3pez-vilaret/
Keywords: system monitor,monitoring,psutil,PyQt5,pyqtgraph,CPU,memory,network,filesystem,Linux,Windows
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: X11 Applications :: Qt
Classifier: Environment :: Win32 (MS Windows)
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Desktop Environment
Classifier: Topic :: System :: Monitoring
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyQt5==5.15.11
Requires-Dist: pyqtgraph==0.13.7
Requires-Dist: psutil==7.0.0
Provides-Extra: gpu-nvidia
Requires-Dist: nvidia-ml-py3>=7.352.0; extra == "gpu-nvidia"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# KLV-System-Monitor

KLV System Monitor is a lightweight, cross-platform system monitoring tool
written in Python with PyQt5 and psutil. It provides a modern, customizable
interface inspired by the Ubuntu system monitor, while adding advanced features
for efficiency, flexibility, and user control.

CPU usage can be visualized in three modes—**Multi thread**, **General view**, and
**Multi window**—selectable from the Preferences dialog.

Plots adapt to the selected theme. "Multi window" graphs show axes without tick
labels and overlay each core's usage, number, and optional frequency atop its
panel. The Preferences dialog exposes controls for mini-plot size, column
count, a single-color option for all cores, and separate EMA alphas for CPU,
memory, and network graphs. CPU plots can optionally be filled with translucent
color, and network smoothing can be toggled independently.

Recent updates further reduce the monitor's own CPU usage by batching
per-process information retrieval, decoupling plot and text refresh rates,
and refreshing the file system view only on demand. Graph antialiasing is
enabled again for crisp rendering and can now be toggled in Preferences.
The Processes tab now updates only when visible, and its refresh interval is
configurable via the Preferences dialog.

The Processes tab also includes buttons to clear the current selection so the
view stops following a particular process and to kill selected processes.

## Requirements

| Software  | Minimum Version | Notes                                                   |
|----------|-----------------|---------------------------------------------------------|
| **Python** | 3.10            | Installed automatically if you use the one-click installers |

---

## Installation

You can install KLV System Monitor in two ways:

### 1. One-click installers <sup>(recommended)</sup>

1. **Download** the ZIP package:  
   **[📦 One-click Installers](https://github.com/karellopez/KLV-System-Monitor/raw/main/Installers/Installers.zip
)**
2. **Extract** the ZIP file and run the script for your operating system:

| OS               | Script                           | How to Run                                                                                                                                                                                                         | Duration |
|------------------|----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
| **Windows 10/11**| `install_klv_system_monitor.bat` | Double-click. This will open a terminal and the installation will start.<br/>If you are not familiar to terminals, please, do not be afraid. <br/>This script do not have any permission to make undesired things. | ≈ 5 min |
| **Linux**        | `install_klv_system_monitor.sh`        | Open a terminal in the path fo the installer and type: <br/>`./klv_system_monitor.sh`                                                                                                                              | ≈ 5 min |

3. After the installation finishes, you will find two shortcuts on your desktop:

| OS          | Launch                            | Uninstall                       |
|-------------|-----------------------------------|---------------------------------|
| **Windows** | `run_KLVSystemMonitor.bat`             | `uninstall_KLVSystemMonitor.bat`     |
| **Linux**   | **KLV System Monitor** (launcher) | `Uninstall KLV System Monitor`  |

---

### 2. Install in a virtual environment (advanced)

```bash
# 1. Create a virtual environment
python3 -m venv <env_name>

# 2. Activate it
source <env_name>/bin/activate          # On Windows: <env_name>\Scripts\activate

# 3. Install BIDS Manager from GitHub
pip install klv-system-monitor
```
The package declares all dependencies, so installation
pulls everything required to run the GUI and helper scripts.
All core requirements are version pinned in `pyproject.toml` to ensure
consistent installations.

After installation the following commands become available:

- `klvtop` – main GUI containing all KLV System Monitor functionalities
