A cross-platform system information gatherer
Project description
HWProbe
A Python Library to simplify retrieval of hardware components of your computer.
- To get started, read the Quickstart.
- Additionally, you can view the Documentation.
Installation
macOS / Linux
pip3 install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ HWProbe
Windows
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ HWProbe
Usage
from hwprobe import HardwareManager
import json
hm = HardwareManager()
data = hm.fetch_hardware_info()
# All data returned are Pydantic models and have strict schema
# You can use it as is, or serialize it to JSON if you wish.
# We print the data in JSON here for readability.
json_data = json.loads(data.model_dump_json())
print(json.dumps(json_data, indent=2))
Tracker
Hardware Discovery Progress Tracker
| Component | Linux | macOS | Windows |
|---|---|---|---|
| CPU | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ |
| Memory | ✅ | ✅ | ✅ |
| Network | ✅ | ✅ | ✅ |
| Storage | ✅ | ✅ | ✅ |
| -- | -- | - | - |
| Display | ❌ | ❌* (2) | ✅* (3) |
| Audio | ❌ | ❌ | ✅* (3) |
| Motherboard | ❌ | ❌ | ✅ |
| Vendor | ❌ | ❌ | ➖ |
| Input | ❌ | ❌ | ❌ |
- PCIe gen info only for Nvidia
- In progress
- Need to rewrite C++ bindings
Miscellaneous Tasks / Problems
| Task | Status |
|---|---|
GH actions for compiling interops/{platform}/*.{c|cpp} to their respective output directories |
❌ |
| Group Pydantic Model fields into essential and optional | ❌ |
Remove pyobjc dependency in macOS by rewriting dependent code chunks in C++ |
✅ |
| Autodetection of storage units | ❌ |
Supporting Features
| Feature | Status |
|---|---|
| PCI Lookup — DeviceHunt | ❌ |
| PCI Lookup — PCI IDs Repository (GitHub) | ❌ |
| Logging | ✅ |
| Working Library | ✅ |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hwprobe-0.0.1b1.tar.gz
(131.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
hwprobe-0.0.1b1-py3-none-any.whl
(148.4 kB
view details)
File details
Details for the file hwprobe-0.0.1b1.tar.gz.
File metadata
- Download URL: hwprobe-0.0.1b1.tar.gz
- Upload date:
- Size: 131.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc57afed541a252ef0786328676db0f096c3f779c88ed11d7acd6968fafcbed7
|
|
| MD5 |
cfdb31e869e6f1bb3a15d211d748d682
|
|
| BLAKE2b-256 |
49d86c37fbdaae372d96cedf4494f08661d79541ed84c81e7d1bcc635c8c5529
|
File details
Details for the file hwprobe-0.0.1b1-py3-none-any.whl.
File metadata
- Download URL: hwprobe-0.0.1b1-py3-none-any.whl
- Upload date:
- Size: 148.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c184eebd6d0e3e674cfb0390a6cd2b4e1d1bbe57c98faa70366c9cd54d8b8b5
|
|
| MD5 |
fefb067bbb1794eeef632a0ea306020c
|
|
| BLAKE2b-256 |
57d67cb3456dbdf9e30c266c4fa1774451f28610f475ef587cedb21fe0620e8b
|