Metadata-Version: 2.4
Name: nsfr750-pybench
Version: 1.3.0
Summary: A comprehensive benchmarking tool with a modern GUI
Home-page: https://github.com/Nsfr750/benchmark
Author: Nsfr750
Author-email: nsfr750@yandex.com
License: GPLv3
Project-URL: Bug Reports, https://github.com/Nsfr750/benchmark/issues
Project-URL: Source, https://github.com/Nsfr750/benchmark
Project-URL: Documentation, https://github.com/Nsfr750/benchmark/wiki
Keywords: benchmark system performance monitoring
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: System :: Benchmark
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PySide6<7.0.0,>=6.5.0
Requires-Dist: wand<0.7.0,>=0.6.10
Requires-Dist: pywin32<308,>=306; platform_system == "Windows"
Requires-Dist: psutil<6.0.0,>=5.9.5
Requires-Dist: py-cpuinfo<10.0.0,>=9.0.0
Requires-Dist: wmi<2.0.0,>=1.5.1; platform_system == "Windows"
Requires-Dist: numpy<3.0.0,>=2.0.2
Requires-Dist: pandas<3.0.0,>=2.0.0
Requires-Dist: matplotlib<4.0.0,>=3.7.0
Requires-Dist: requests<3.0.0,>=2.31.0
Requires-Dist: python-dateutil<3.0.0,>=2.8.2
Provides-Extra: dev
Requires-Dist: pytest<8.0.0,>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov<5.0.0,>=4.0.0; extra == "dev"
Requires-Dist: black<24.0.0,>=23.0.0; extra == "dev"
Requires-Dist: flake8<7.0.0,>=6.0.0; extra == "dev"
Requires-Dist: mypy<2.0.0,>=1.0.0; extra == "dev"
Requires-Dist: isort<6.0.0,>=5.12.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# ![Logo](assets/logo.png) PyBench

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![GitHub release](https://img.shields.io/github/v/release/Nsfr750/benchmark)](https://github.com/Nsfr750/benchmark/releases)
[![Discord](https://img.shields.io/discord/1234567890123456789?label=Discord&logo=discord)](https://discord.gg/ryqNeuRYjD)

A comprehensive benchmarking suite built with PySide6, offering a modern and intuitive interface for running, analyzing, and comparing various benchmark tests including Pystone, CPU performance, memory operations, and system metrics.

![Benchmark Screenshot](assets/screenshot.png)

## 📥 Installation

### Prerequisites

- **OS**: Windows 10/11 (64-bit)
- **Python**: 3.9 or higher
- **RAM**: 4GB minimum (8GB recommended)
- **Disk Space**: 500MB free space

### Quick Start

1. **Download the latest release** from [GitHub Releases](https://github.com/Nsfr750/benchmark/releases)

2. **Run the installer** and follow the on-screen instructions

   or

   **Manual Installation**:

   ```bash
   # Clone the repository
   git clone https://github.com/Nsfr750/benchmark.git
   cd benchmark
   
   # Create and activate virtual environment
   python -m venv venv
   .\venv\Scripts\activate  # Windows
   source venv/bin/activate  # Linux/Mac
   
   # Install dependencies
   pip install -r requirements.txt
   
   # Run the application
   python main.py
   ```

## ✨ Features

- **Comprehensive Benchmarking**:
  - CPU Performance Tests
  - Memory Bandwidth & Latency
  - Disk I/O Operations
  - System Monitoring
  - Pystone Benchmark
  - Custom Test Suites

- **Modern UI**:
  - Dark/Light theme support
  - Real-time performance monitoring
  - Interactive charts and visualizations
  - Responsive design

- **Advanced Features**:
  - Save/Load benchmark configurations
  - Export results to multiple formats (CSV, JSON, HTML)
  - Compare results across different runs
  - Custom benchmark creation

- **System Integration**:
  - Detailed hardware information
  - System resource monitoring
  - Automatic updates
  - Multi-language support
  - Pystone benchmark with progress tracking
  - CPU performance tests
  - Memory operation benchmarks
  - System information collection
- **Advanced Features**:
  - Real-time progress monitoring
  - Detailed performance metrics
  - Export results to multiple formats (CSV/JSON)
  - Compare benchmark results
  - Hardware monitoring during tests
  - Multi-language support
  - Customizable test duration
  - Real-time progress tracking
  - Detailed results with statistics
  - Historical data comparison
- **Logging**:
  - Detailed operation logs
  - Log filtering by level
  - Log file rotation
- **Multi-language Support**:
  - English (en)
  - Italian (it)
- **Accessibility**:
  - Keyboard shortcuts
  - High contrast mode
  - Adjustable text size

## ⌨️ Keyboard Shortcuts

- `Ctrl+L`: View application logs
- `F1`: Show help
- `Esc`: Close dialogs
- `Ctrl+Q`: Quit application

## 📊 Usage

1. Set the number of iterations for the benchmark
2. Click "Start Benchmark" to begin
3. Monitor progress in real-time
4. View detailed results and statistics
5. Access logs for troubleshooting

## 📂 Project Structure

Please read our [Project Structure](docs/STRUCT.md) for more information.

## 🤝 Contributing

Contributions are welcome! Please read our [Contributing Guidelines](docs/CONTRIBUTING.md) for details.

## 📄 License

This project is licensed under the GPLv3 License - see the [LICENSE](LICENSE) file for details.

## 🙏 Support

If you find this project useful, please consider supporting its development:

- [![Patreon](https://img.shields.io/badge/Support%20on-Patreon-FF424D?logo=patreon)](https://www.patreon.com/Nsfr750)
- [![PayPal](https://img.shields.io/badge/Donate-PayPal-00457C?logo=paypal)](https://paypal.me/3dmega)
- Monero: `47Jc6MC47WJVFhiQFYwHyBNQP5BEsjUPG6tc8R37FwcTY8K5Y3LvFzveSXoGiaDQSxDrnCUBJ5WBj6Fgmsfix8VPD4w3gXF`

## 📬 Contact

- GitHub: [Nsfr750](https://github.com/Nsfr750)
- Discord: [Join our community](https://discord.gg/ryqNeuRYjD)
- Email: [nsfr750@yandex.com](mailto:nsfr750@yandex.com)
