Skip to main content

A gping-inspired terminal visualization tool for monitoring real-time hardware sensor data from HWInfo

Project description

🖥️ HWInfo TUI

CI Release PyPI - Version PyPI - Python Version GitHub Release WinGet Package Version License

A terminal plotting tool for visualizing real-time hardware sensor data from HWInfo64 (Windows), inspired by gping.

HWInfo TUI Demo

# top left pane
hwinfo-tui monitor sensors.CSV "CPU Package Power" "Total System Power" "GPU Power" --time-window 120 --refresh-rate 1

# bottom left pane
hwinfo-tui monitor sensors.CSV "Physical Memory Load" "Total CPU Usage" "GPU D3D Usage" --time-window 120 --refresh-rate 1

# top right pane
hwinfo-tui monitor sensors.CSV "Core Temperatures" "CPU Package" "GPU Temperature" --time-window 120 --refresh-rate 1

# bottom right pane
hwinfo-tui monitor sensors.CSV "Core Thermal Throttling" "Core Critical Temperature" "Package/Ring Thermal Throttling" --time-window 120 --refresh-rate 1

✨ Features

  • Real-time Monitoring: Live sensor data visualization with configurable refresh rates
  • gping-inspired UI: Clean interface with statistics table and interactive chart
  • Unit-based Filtering: Automatically groups sensors by units, supports up to 2 units simultaneously
  • Dual Y-axes: Charts can display different units on left and right axes
  • Clean Interface: Focused visualization without unnecessary interactive distractions
  • Responsive Design: Automatically adapts to terminal size with compact mode
  • Fuzzy Sensor Matching: Partial sensor name matching with suggestions
  • Rich Statistics: Min, max, average, and 95th percentile calculations

📦 Installation

Windows (Recommended)

WinGet Package Version

winget install hwinfo-tui

Or download the portable executable - no installation required.

Cross-Platform

PyPI - Version

pip install hwinfo-tui

From Source

git clone https://github.com/hwinfo-tui/hwinfo-tui.git
cd hwinfo-tui

# Quick setup (recommended)
./setup.sh  # or setup.bat/setup.ps1 on Windows

# Manual setup
python -m venv venv
source venv/bin/activate  # or venv\Scripts\activate on Windows
pip install -e .

🚀 Quick Start

  1. Configure HWInfo64 logging (Windows): Open HWiNFO → Sensors → Start Logging → Choose CSV format and location

  2. Monitor sensors:

    # Basic usage
    hwinfo-tui monitor sensors.csv "CPU Package"
    
    # Multiple sensors
    hwinfo-tui monitor sensors.csv "Core Temperatures" "GPU Temperature" "CPU Package"
    
    # Mixed units with custom settings
    hwinfo-tui monitor sensors.csv "Total CPU Usage" "Core Temperatures" --refresh-rate 0.5 --time-window 600
    

💡 Usage Examples

# Single unit (temperature)
hwinfo-tui monitor sensors.csv "Core Temperatures" "GPU Temperature" "CPU Package"

# Single unit (percentage)
hwinfo-tui monitor sensors.csv "Total CPU Usage" "GPU Core Load" "GPU Memory Usage"

# Dual units (temperature + percentage)
hwinfo-tui monitor sensors.csv "Core Temperatures" "Total CPU Usage" "GPU Temperature"

# Dual units (power + temperature)
hwinfo-tui monitor sensors.csv "CPU Package Power" "CPU Package" "GPU Power"

# List available sensors
hwinfo-tui list-sensors sensors.csv
hwinfo-tui list-sensors sensors.csv --unit "°C" --limit 20

📋 Command Line Reference

Main Command

Usage: hwinfo-tui [OPTIONS] COMMAND [ARGS]...

A gping-inspired terminal visualization tool for monitoring real-time hardware sensor data from HWInfo.

Options:

  • --version - Show version information and exit
  • --install-completion - Install completion for the current shell
  • --show-completion - Show completion for the current shell
  • --help - Show this message and exit

Commands:

  • monitor - Monitor hardware sensors in real-time
  • list-sensors - List all available sensors in the CSV file

monitor

Usage: hwinfo-tui monitor [OPTIONS] CSV_FILE SENSOR_NAMES...

Monitor hardware sensors in real-time.

Arguments:

  • CSV_FILE (required) - Path to HWInfo sensors.csv file
  • SENSOR_NAMES... (required) - One or more sensor names to monitor (supports partial matching)

Options:

  • -r, --refresh-rate FLOAT - Update frequency in seconds (0.1-60.0) [default: 1.0]
  • -w, --time-window INTEGER - History window in seconds (10-7200) [default: 300]
  • --help - Show this message and exit

list-sensors

Usage: hwinfo-tui list-sensors [OPTIONS] CSV_FILE

List all available sensors in the CSV file.

This command helps you discover sensor names for monitoring.

Arguments:

  • CSV_FILE (required) - Path to HWInfo sensors.csv file

Options:

  • -u, --unit TEXT - Filter sensors by unit (e.g., '°C', '%', 'W')
  • -l, --limit INTEGER - Maximum number of sensors to display (1-1000) [default: 50]
  • --help - Show this message and exit

⚙️ HWInfo64 Setup (Windows)

  1. Download and install HWInfo64 (Windows only)
  2. Open Sensors window → File → Start Logging
  3. Choose CSV format and location
  4. Set logging interval (1-2 seconds recommended)
  5. Use the generated CSV file with HWInfo TUI

🔧 Unit Filtering

HWInfo TUI automatically filters sensors based on their units:

  • Single Unit: All sensors with the same unit (e.g., °C)
  • Dual Units: Up to 2 different units on separate Y-axes
  • Auto-exclusion: Incompatible sensors excluded with warnings
# Third unit [W] would be excluded and show a warning
hwinfo-tui monitor sensors.csv "Core Temperatures" "Total CPU Usage" "CPU Power"

💻 System Requirements

  • Python: 3.8 or higher
  • Terminal: Any modern terminal with color support
  • Platform: Windows (HWInfo64 is Windows-only)
  • Dependencies: typer, rich, plotext, pandas, watchdog

Note: While HWInfo TUI can run on any platform with Python, HWInfo64 is only available for Windows. On other platforms, you can use HWInfo TUI with CSV files generated on Windows.

🚀 Performance

  • Memory Usage: < 50MB baseline, < 100MB with full data retention
  • CPU Overhead: < 2% of single core during normal operation
  • Startup Time: < 2 seconds from launch to first display
  • Update Frequency: Configurable from 0.1 to 60 seconds

🛠️ Troubleshooting

No matching sensors found

hwinfo-tui list-sensors sensors.csv  # Check available sensors
hwinfo-tui monitor sensors.csv "CPU" "GPU"  # Use partial names

Too many units excluded

  • Maximum 2 units supported - group sensors by similar units

File not found

  • Ensure HWInfo is actively logging to the CSV file
  • Verify file path and permissions

Poor performance

hwinfo-tui monitor sensors.csv "CPU" --refresh-rate 2.0 --time-window 120

Debug mode

HWINFO_TUI_LOG_LEVEL=DEBUG hwinfo-tui monitor sensors.csv "CPU"

🤝 Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

Development Setup

# Clone and setup
git clone https://github.com/hwinfo-tui/hwinfo-tui.git
cd hwinfo-tui
./setup.sh  # or setup.bat on Windows

# Activate environment
source ./activate.sh  # or activate.bat/activate.ps1 on Windows

# Run tests
pytest

# Run the app
hwinfo-tui monitor sensors.csv "CPU"

📄 License

MIT License - see LICENSE file for details.

🙏 Acknowledgments

  • Inspired by gping for the clean TUI design
  • Built with Rich for beautiful terminal output
  • Uses plotext for ASCII charts
  • Powered by Typer for the CLI interface

📝 Changelog

See CHANGELOG.md for version history and updates.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hwinfo_tui-1.0.4.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hwinfo_tui-1.0.4-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file hwinfo_tui-1.0.4.tar.gz.

File metadata

  • Download URL: hwinfo_tui-1.0.4.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hwinfo_tui-1.0.4.tar.gz
Algorithm Hash digest
SHA256 166402a1cfdff4a1947876b15f25dd9339f99f4f5b939c605970a780908e288e
MD5 02e8bcc10857fa66396d6c1056bbb66a
BLAKE2b-256 f6890384486f1628b06db37e7a230e684b73421a544a7dadf538df58a3f23af8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hwinfo_tui-1.0.4.tar.gz:

Publisher: release.yml on JuanjoFuchs/hwinfo-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hwinfo_tui-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: hwinfo_tui-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hwinfo_tui-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7463508e52d4f15d5d82d4000ed77548f639ad738eb01e6e5e9f137eb18ce282
MD5 df861d103378a7ad5326f7539ff98756
BLAKE2b-256 a55a0001bc4d416df33b1b12fb34eaacd57e16e91ff2b9631a58d376b2d89969

See more details on using hashes here.

Provenance

The following attestation bundles were made for hwinfo_tui-1.0.4-py3-none-any.whl:

Publisher: release.yml on JuanjoFuchs/hwinfo-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page