Skip to content

Monitor your computer's sensor data with real-time plotting and logging, with an optional overlay.

License

Notifications You must be signed in to change notification settings

archiebhl/hwinsight

Repository files navigation

HWInsight

Platform PRs Welcome Python Version Last Commit

A tool to monitor your computer's sensor data with real-time plotting and logging.

gui-png

Features & Uses - Everything is in real-time

Customization

Select only the devices you care about. Filter out the rest.

Logging

Log all of your data locally for analysis or future reference.

Overlays (WIP)

Display the data you want with an always-on-top overlay for seamless multi-tasking.

  • Powered by PyOverlayKit, which was created specifically for HWInsight.

Real-Time Graphing

See your device sensor information in real time - with graphs.

Tech Stack

HWInsight is based on the following technologies:

  • C# - Used for the core subprocess logic and backend functionality.
  • Python - Used for data processing and managing the GUI with PySide6.
  • PySide6 - A set of Python bindings for Qt, used for building the GUI.
  • LibreHardwareMonitor - A C# library to monitor hardware sensors and system information.

Installation

Compatibility Information:

Platform Support Notes
Windows ✅ Fully supported Requires Administrator privileges for full functionality
macOS ❌ Not supported Uses different APIs (SMC) that are not supported
Linux ❌ Not supported Would require integration with Linux-specific APIs like lm-sensors.

Running the program

  1. Download the relevant release.
  2. Unzip the file into a single folder and run run.bat as Administrator.

⚠️ Note: Running as Administrator is required to access CPU temperature and some other sensor data.

Building from source

Prerequisites

  • .NET SDK
    • LibreHardwareMonitorLib
  • Python 3.X

Steps

  1. Clone the Repository
git clone https://github.com/archiebhl/hwinsight.git
cd hwinsight
  1. (Recommended) Create and activate a virtual environment
python -m venv venv
venv\Scripts\activate
  1. Install Python dependencies
pip install -r requirements.txt
  1. Run
python main.py

Note: Ensure you reference LibreHardwareMonitorLib DLL appropriately before running main.py.

Contributing

Contributions are welcome. Please fork the repository and submit a pull request.

Credits

  • LibreHardwareMonitor for a comprehensive library to collect device sensor data.
  • pglive to make live plotting in PySide6 performant and straightforward.