CPU, GPU, and NPU hardware topology and telemetry for Python.
Project description
Warning mainboard is early (
0.0.x). The Python API is small on purpose, but provider details may still change.
Installation
pip install mainboard
Working in a chefe project? Add it to your manifest:
chefe add mainboard --pypi
On Linux with NVIDIA GPUs, pull the CUDA provider extra: pip install "mainboard[nvidia]".
What it is
mainboard tells Python what compute is on the current machine, without assuming the world is only CUDA. It models CPUs, GPUs, and NPUs as Units, keeps vendor-specific probing behind providers (Apple and NVIDIA today), and gives you the whole board in one call.
from mainboard import Machine
print(Machine().model_dump_json(indent=2)) # cpu, memory, gpus, npus, and the host environment
Usage
machine = Machine()
machine.cpu.snapshot() # CPU identity and capacity
machine.gpus[0].snapshot() # per-GPU telemetry
machine.environment # user, group(s), and job scheduler on the host
machine.model_dump_json() # one-call JSON probe of the whole machine
The CLI renders a Rich schematic of the board:
mainboard
Lore
A mainboard is where the silicon lives. This one just tells you what is plugged in.
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
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
File details
Details for the file mainboard-0.0.1.tar.gz.
File metadata
- Download URL: mainboard-0.0.1.tar.gz
- Upload date:
- Size: 54.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13951d592b62f0168dbfc8224cd5e58600b0a651f032cdb731bf20e95d8474fa
|
|
| MD5 |
8942dbcd7ef210987669bfc616da50c3
|
|
| BLAKE2b-256 |
7dc76ee25aef8f919ad6b420cf4c66a5e42c2af289ea26ec19d5191d59a3dd85
|
Provenance
The following attestation bundles were made for mainboard-0.0.1.tar.gz:
Publisher:
publish.yml on phvv-me/mainboard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mainboard-0.0.1.tar.gz -
Subject digest:
13951d592b62f0168dbfc8224cd5e58600b0a651f032cdb731bf20e95d8474fa - Sigstore transparency entry: 1707938791
- Sigstore integration time:
-
Permalink:
phvv-me/mainboard@551bc12505e00d3a62f3b7735946cad6639f4c7f -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/phvv-me
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@551bc12505e00d3a62f3b7735946cad6639f4c7f -
Trigger Event:
push
-
Statement type:
File details
Details for the file mainboard-0.0.1-py3-none-any.whl.
File metadata
- Download URL: mainboard-0.0.1-py3-none-any.whl
- Upload date:
- Size: 51.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00c318ea449da90ebfd72e84e24fb0847c0e857ae2027c4ceb1266f3a47a7d75
|
|
| MD5 |
87a857627129b8c9adecf609787a55a4
|
|
| BLAKE2b-256 |
180cbdb05951929d52c687b250a05786f7512ada291e5c51c28e165ce8ea76ae
|
Provenance
The following attestation bundles were made for mainboard-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on phvv-me/mainboard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mainboard-0.0.1-py3-none-any.whl -
Subject digest:
00c318ea449da90ebfd72e84e24fb0847c0e857ae2027c4ceb1266f3a47a7d75 - Sigstore transparency entry: 1707938799
- Sigstore integration time:
-
Permalink:
phvv-me/mainboard@551bc12505e00d3a62f3b7735946cad6639f4c7f -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/phvv-me
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@551bc12505e00d3a62f3b7735946cad6639f4c7f -
Trigger Event:
push
-
Statement type: