HardView - Python Hardware Information Module
HardView is a high-performance, cross-platform Python module that provides detailed hardware and system information in structured JSON format. It supports both Windows (via WMI) and Linux (via sysfs/proc), and now includes advanced storage/SMART info and real-time performance monitoring.
๐ Key Features
- ๐ฅ๏ธ Comprehensive Hardware Data: BIOS, System, Baseboard, Chassis, CPU, RAM, Disks, Network.
- ๐๏ธ Advanced Storage & SMART: Detailed disk, partition, and SMART attributes.
- ๐ Performance Monitoring: Real-time and interval-based CPU, RAM, and system performance.
- ๐ฅ๏ธ Cross-Platform: Works on Windows (WMI) and Linux (sysfs/proc).
- โก C Implementation: High performance native code.
- ๐ Python Integration: Easy-to-use Python API.
- ๐งฉ Modular Design: Extensible and well-documented.
- ๐ Structured Output: All results are returned as JSON strings or Python objects.
๐ฆ Installation
From PyPI
From Source
For supported platforms and full setup instructions, see docs/INSTALL.md
.
๐ Usage Example
import HardView
import json
# JSON output
bios_json = HardView.get_bios_info()
cpu_json = HardView.get_cpu_info()
# Python objects output
#You must pass the parameter `false` in versions prior to 3.0.3, e.g. `HardView.get_bios_info_objects(false)`.
bios_objects = HardView.get_bios_info_objects()
cpu_objects = HardView.get_cpu_info_objects()
# Performance monitoring
cpu_usage_json = HardView.get_cpu_usage()
ram_usage_objects = HardView.get_ram_usage_objects()
# Monitor over time
cpu_monitor_json = HardView.monitor_cpu_usage_duration(5, 1000)
ram_monitor_objects = HardView.monitor_ram_usage_duration_objects(3, 500)
# Pretty print CPU info
import pprint
pprint.pprint(json.loads(cpu_json))
๐ API Reference (Summary)
Function (JSON) | Function (Python Object) | Description |
---|---|---|
get_bios_info() |
get_bios_info_objects() |
BIOS vendor, version, release date |
get_system_info() |
get_system_info_objects() |
System manufacturer, product name, UUID |
get_baseboard_info() |
get_baseboard_info_objects() |
Motherboard info |
get_chassis_info() |
get_chassis_info_objects() |
Chassis/computer case info |
get_cpu_info() |
get_cpu_info_objects() |
Processor details |
get_ram_info() |
get_ram_info_objects() |
Memory modules and totals |
get_gpu_info |
get_gpu_info_objects() |
GPU information |
get_disk_info() |
get_disk_info_objects() |
Storage devices |
get_network_info() |
get_network_info_objects() |
Network adapters |
get_partitions_info() |
get_partitions_info_objects() |
Disk partitions (advanced) |
get_smart_info() |
get_smart_info_objects() |
Full disk/SMART info (advanced) |
get_cpu_usage() |
get_cpu_usage_objects() |
Current CPU usage |
get_ram_usage() |
get_ram_usage_objects() |
Current RAM usage |
get_system_performance() |
get_system_performance_objects() |
Combined CPU/RAM usage |
monitor_cpu_usage_duration(d, i) |
monitor_cpu_usage_duration_objects(d,i) |
Monitor CPU usage over time |
monitor_ram_usage_duration(d, i) |
monitor_ram_usage_duration_objects(d,i) |
Monitor RAM usage over time |
monitor_system_performance_duration(d,i) |
monitor_system_performance_duration_objects(d,i) |
Monitor system performance over time |
๐งช Platform Support
Feature | Windows | Linux |
---|---|---|
BIOS Info | โ | โ |
System Info | โ | โ |
Baseboard Info | โ | โ |
Chassis Info | โ | โ |
CPU Info | โ | โ |
RAM Info | โ | โ |
Disks | โ | โ |
Network | โ | โ |
Advanced Storage / SMART | โ | ๐ซ |
Performance Monitoring | โ | โ |