Skip to main content

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

Project description

mainboard banner

CI Publish PyPI Python Docs Coverage

Installation

pip install mainboard

Working in a chefe project? Add it to your manifest:

chefe add mainboard -l python

On Linux the CUDA bindings install automatically, so NVIDIA GPUs are detected out of the box. On macOS nothing CUDA-related is pulled in, and provider detection degrades gracefully when no NVIDIA GPU is present.

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

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.5.tar.gz (111.9 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.5-py3-none-any.whl (102.6 kB view details)

Uploaded Python 3

File details

Details for the file mainboard-0.0.5.tar.gz.

File metadata

  • Download URL: mainboard-0.0.5.tar.gz
  • Upload date:
  • Size: 111.9 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.5.tar.gz
Algorithm Hash digest
SHA256 3c7787acfc3911b1b89be1446fc5ac28bb397fb5ea8bb5b9c576016363dd470a
MD5 4039de7108c220f29333a02ac56d7f14
BLAKE2b-256 0e12a0cef9b66027916b13920ce9aa0e7b32c40ea839a8bcd2f592c865d07e0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mainboard-0.0.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: mainboard-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 102.6 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 96bea307ab66284ca33482e858eec2d0797e5aff852ceae046082363b29e5c07
MD5 9997630c59c9524531321c4aaac37358
BLAKE2b-256 f95e1ffee27bd18500fd1b5fe1c5f8d7290d078928bf778fda83a17a5be8b979

See more details on using hashes here.

Provenance

The following attestation bundles were made for mainboard-0.0.5-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