Metadata-Version: 2.2
Name: guro
Version: 1.0.2
Summary: A Simple System Monitoring & Benchmarking Toolkit
Home-page: https://github.com/dhanushk-offl/guro
Author: Dhanush Kandhan
Author-email: dhanushkandhan75@gmail.com
Project-URL: Bug Reports, https://github.com/dhanushk-offl/guro/issues
Project-URL: Source, https://github.com/dhanushk-offl/guro
Project-URL: Documentation, https://github.com/dhanushk-offl/guro/wiki
Keywords: system-monitoring,gpu-optimization,performance-tuning,hardware-monitoring,system-administration,nvidia-gpu,amd-gpu,intel-gpu,resource-monitoring,system-optimization
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Topic :: System :: Hardware
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: System :: Operating System
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Natural Language :: English
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Requires-Dist: rich>=10.0.0
Requires-Dist: psutil>=5.8.0
Requires-Dist: gputil>=1.4.0
Requires-Dist: matplotlib>=3.5.0
Requires-Dist: nvidia-ml-py>=11.515.0
Requires-Dist: pandas>=1.3.0
Requires-Dist: plotly>=5.5.0
Requires-Dist: termcolor>=2.0.0
Requires-Dist: tabulate>=0.8.9
Requires-Dist: py-cpuinfo>=8.0.0
Requires-Dist: setproctitle>=1.2.2
Requires-Dist: keyboard>=0.13.5
Requires-Dist: pytest>=7.0.0
Requires-Dist: pytest-mock>=3.10.0
Requires-Dist: pytest-cov>=4.0.0
Requires-Dist: pytest-timeout>=2.1.0
Provides-Extra: nvidia
Requires-Dist: py3nvml>=0.2.7; extra == "nvidia"
Requires-Dist: nvidia-ml-py>=11.515.0; extra == "nvidia"
Provides-Extra: amd
Requires-Dist: pyamdgpuinfo>=2.1.0; extra == "amd"
Provides-Extra: all
Requires-Dist: py3nvml>=0.2.7; extra == "all"
Requires-Dist: nvidia-ml-py>=11.515.0; extra == "all"
Requires-Dist: pyamdgpuinfo>=2.1.0; extra == "all"
Requires-Dist: matplotlib>=3.5.0; extra == "all"
Requires-Dist: plotly>=5.5.0; extra == "all"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-mock>=3.10.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

[![Python package](https://github.com/dhanushk-offl/guro/actions/workflows/python-package.yml/badge.svg)](https://github.com/dhanushk-offl/guro/actions/workflows/python-package.yml) [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/dhanushk-offl/guro/badge)](https://scorecard.dev/viewer/?uri=github.com/dhanushk-offl/guro) [![CodeQL Advanced](https://github.com/dhanushk-offl/guro/actions/workflows/codeql.yml/badge.svg)](https://github.com/dhanushk-offl/guro/actions/workflows/codeql.yml) [![PyPI Downloads](https://img.shields.io/pypi/dm/guro.svg?label=PyPI%20downloads)](https://pypi.org/project/guro/)

[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/itzmedhanu)

# Guro - A Simple System Monitoring & Benchmarking Toolkit 🚀

Welcome to **Guro**, the ultimate toolkit for **system monitoring** and **benchmarking**. It’s simple, fast, and designed for developers and enthusiasts who want to monitor system performance, run benchmarks, and visualize system heatmaps in an intuitive way.

### Features:
- 📊 **Real-time system monitoring** – Monitor CPU, memory, and disk usage in real-time.
- 🔥 **Performance benchmarking** – Run benchmarks with mini and full-scale tests for your CPU and GPU.
- 🌡️ **Hardware heatmap** – Visualize your system's temperature with a heatmap in real-time.
- 💾 **Export data** – Export monitoring data to CSV for analysis.

### Installation

For General Installation:
```bash
pip install guro
```

For **Linux** & **MacOS** users, we recommend installing via `pipx` for better isolation or use can virtual environments:
```bash
pipx install guro
```

For **Windows** users, use a virtual environment to manage the CLI-based package:
```bash
python -m venv guro_env
source guro_env/bin/activate  # On Windows: guro_env\Scripts\activate
pip install guro
```

### Usage

Run the following commands for monitoring, benchmarking, or heatmap analysis:

#### 1. **Monitor System Resources**
```bash
guro monitor --interval 1.0 --duration 60
```
- **Options**:
  - `--interval/-i`: Monitoring interval in seconds (default: 1.0).
  - `--duration/-d`: Monitoring duration in seconds.
  - `--export/-e`: Export monitoring data to a CSV file.

#### 2. **Run Benchmark Tests**
```bash
guro benchmark --type mini --cpu-only
```
- **Options**:
  - `--type/-t`: Type of benchmark test to run (`mini` or `god`).
  - `--cpu-only`: Run only CPU benchmark.
  - `--gpu-only`: Run only GPU benchmark.

#### 3. **Visualize System Heatmap**
```bash
guro heatmap --interval 1.0 --duration 30
```
- **Options**:
  - `--interval/-i`: Update interval in seconds (must be greater than 0.1).
  - `--duration/-d`: Duration to run in seconds (default: 10).

#### 4. **List All Commands**
```bash
guro list
```
- Displays all available commands and options for the toolkit.

#### 5. **About Guro**
```bash
guro about
```
- Displays information about Guro, including version, author, and features.


### License

MIT License. See [[LICENSE](https://github.com/dhanushk-offl/guro/LICENSE)] for more details.

For more details, check out our [[documentation](https://github.com/dhanushk-offl/guro/wiki)].
