Skip to main content

CPU, GPU, and NPU hardware topology and telemetry for Python.

Project description

mainboard banner

CI Publish PyPI Python Docs Coverage

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


Download files

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

Source Distribution

mainboard-0.0.1.tar.gz (54.7 kB view details)

Uploaded Source

Built Distribution

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

mainboard-0.0.1-py3-none-any.whl (51.2 kB view details)

Uploaded Python 3

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

Hashes for mainboard-0.0.1.tar.gz
Algorithm Hash digest
SHA256 13951d592b62f0168dbfc8224cd5e58600b0a651f032cdb731bf20e95d8474fa
MD5 8942dbcd7ef210987669bfc616da50c3
BLAKE2b-256 7dc76ee25aef8f919ad6b420cf4c66a5e42c2af289ea26ec19d5191d59a3dd85

See more details on using hashes here.

Provenance

The following attestation bundles were made for mainboard-0.0.1.tar.gz:

Publisher: publish.yml on phvv-me/mainboard

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

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

Hashes for mainboard-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 00c318ea449da90ebfd72e84e24fb0847c0e857ae2027c4ceb1266f3a47a7d75
MD5 87a857627129b8c9adecf609787a55a4
BLAKE2b-256 180cbdb05951929d52c687b250a05786f7512ada291e5c51c28e165ce8ea76ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for mainboard-0.0.1-py3-none-any.whl:

Publisher: publish.yml on phvv-me/mainboard

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