Skip to main content

SystemCard

SystemCard is a terminal system information card powered by Sysal. It presents machine and current-process-visible resources in a concise Rich terminal interface.

Installation status

The first PyPI release is being prepared. For now, compatible Linux machines can install a matching wheel downloaded from the repository's Wheels or Release workflow artifacts using python -m pip install /path/to/wheel.whl. See the release guide for publishing and installation steps.

Local development

Install the project and development toolchain with uv:

uv sync --locked --dev
uv run --locked systemcard

Development uses Python 3.12 and the locked uv environment. The local build requires CMake 3.24+, a C++20 compiler, Python 3.12 for development tools, and network access for the first build. CMake downloads the pinned Sysal v0.0.21 release package, verifies its SHA-256 digest, and statically links libsysal.a into the native extension.

Run the complete project checks with:

uv run --locked python scripts/check.py
uv run --locked systemcard --section system --no-color

The check entry point follows the base-py conventions: Ruff format validation and linting, mypy strict mode, and pytest with branch coverage reports. There is no hard coverage threshold; checks do not modify tracked files or the index.

Enable the staged snapshot hook explicitly:

git config core.hooksPath .githooks

The hook checks whitespace and Python formatting without changing or staging files. Apply fixes explicitly with uv run --locked ruff check --fix . and uv run --locked ruff format .. Dependency changes update uv.lock explicitly; normal development and CI use locked environments. Use systemcard or uv run --locked python -m systemcard as the entry point.

Compatibility

Release wheels target Linux x86_64 systems with glibc 2.17 or newer (CentOS 7 / RHEL 7 and newer compatible distributions). The minimum runtime version is Python 3.6.8, matching the CentOS 7 system python3. The wheel workflow builds CPython 3.6 through 3.14 artifacts in the manylinux2014 image, repairs them with auditwheel, and runs a real collection smoke test against each installed wheel. A separate CentOS 7 job installs the Python 3.6 wheel and exercises collection and rendering with its actual Python 3.6.8.

CentOS 7 ships an older pip that does not recognize manylinux2014 wheels. Upgrade pip without changing the system interpreter before installation:

python3 -m pip install --upgrade 'pip==21.3.1'
python3 -m pip install /path/to/systemcard-0.1.0-cp36-cp36m-manylinux*.whl

Python 3.6/3.7 uses Rich 12 and a legacy build adapter; newer interpreters retain the modern build backend. The project metadata is shared by both build paths.

Selective collection and bootstrap

systemcard --section cpu,memory --no-color
systemcard --section accelerators
systemcard --compact
SYSTEMCARD_SPEC=/path/to/systemcard.whl bash run.sh --compact

The display adapts to terminal width: one column below 110 characters, two columns from 110, and three from 166. On wider terminals, summary cards share aligned rows and detailed device tables follow at full width. --compact shows only the summary cards unless explicit sections are requested. Tables switch to individual records when their columns would be cramped, and narrow summaries put labels above values. Each invocation uses the current terminal width. After the command exits, resizing the terminal may reflow its scrollback; run the command again to lay it out at the new width.

Sections are validated before collection and collect only their domains plus required identity, visibility and NUMA dependencies. CPU and memory cards show cgroup limits separately from machine resources; GPU cards distinguish physical GPUs and MIG instances. CPU summaries include family/model/stepping, microcode, online CPU counts, SMT state and the frequency driver. --section cpu also shows per-thread kernel capabilities, hardware frequency bounds and policy limits grouped by identical configuration, with a range for the kernel’s current reports. --section topology retains the complete cache sharing, logical CPU and individual frequency policy tables. See launch options and the binding contract.

Hardware inventory

Default output shows every section as a summary, including software, sensors, hardware findings and topology. Select a section to see the identities and configuration:

uv run --locked systemcard --section system
uv run --locked systemcard --section memory
uv run --locked systemcard --section storage
uv run --locked systemcard --section network

Details come from local kernel, driver and firmware reports. Unreadable fields remain unknown; there are no performance benchmarks or model specification guesses. CPU process node, IPC and undocumented IMC details are not inferred from model names.

Hardware topology and sources

uv run --locked systemcard --section topology
uv run --locked systemcard --section network --sources
uv run --locked systemcard --section memory,storage

The topology view follows explicit NUMA, PCI, partition and interface relationships. Ordinary storage details show disk identity, main configuration and associated block mounts. Topology includes layered block dependencies and every namespace mount. Network details show driver/firmware versions and supported link modes; topology contains bridge/bond/VLAN relationships, RDMA attachments and EDAC controllers, ordered channel/slot locations and firmware ECC reports. EDAC DIMMs and ranks remain separate; rank capacity is per rank. Controller layer maxima are indices, not population counts. Firmware-to-EDAC associations show their unique label and capacity matching basis, since EDAC labels can be changed by an administrator. Missing controller associations or inventory completeness remain unknown. Summaries show relevant missing/partial source counts; --sources expands their origins and observed failure reasons. Optional missing interfaces do not by themselves indicate failed hardware; a successful query does not mean that the source supplied every field.

Topology details show PCI storage controller functions, NVMe kernel controllers and SCSI hosts separately. Namespace IDs belong to their NVMe subsystem; controller links come from sysfs ancestry or actual multipath links. SCSI devices retain H:C:T:L addresses. ATA port numbers are kernel identifiers, not enclosure slots; hardware RAID volumes do not expose the physical drive inventory.

Sensors and hardware findings

uv run --locked systemcard --section sensors
uv run --locked systemcard --section health
uv run --locked systemcard --section sensors --sources

Sensor details preserve kernel names, channels, units, limits and reported flags. Hardware findings distinguish sensor alarms, md RAID degradation and historical EDAC counts. Missing evidence remains unknown. Default output includes a findings summary; selecting health expands the evidence. Their absence does not establish that the entire machine is healthy.

Storage health uses optional smartctl / nvme-cli read-only reports. uv run --locked systemcard --section health --sources --no-color shows per-device availability and protocol-specific reports; --section health separates current warnings, endurance estimates and historical errors. Permission failures stay unknown; SystemCard never elevates privileges or changes device settings.

Hardware overview and details

The default view contains summary cards for all sections and collects software, sensors and read-only drive health reports. --compact keeps the four core cards and their collection dependencies; --section selects only the requested views. Ordinary details show identity and configuration; topology and health hold complete relationships and diagnostic evidence. Whole-disk totals exclude partitions and virtual block layers; physical-interface counts use explicit kernel identity. Unknown classifications remain visible. Partial capacity totals are labelled as known portions; missing capacities stay unknown. Failed collection is distinguished from a successful empty inventory. DIMM counts describe observed entries, separately from firmware-reported slot counts.

uv run --locked systemcard
uv run --locked systemcard --section cpu,memory
uv run --locked systemcard --section storage,network
uv run --locked systemcard --section health

Detailed field tables group properties by device and omit columns with no reports. Current findings precede endurance estimates and historical error counters. Drive-query permission or tool failures are summarized in the health view; use --sources for the underlying observations.

Metadata

Release files for systemcard 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for systemcard 0.1.0
File Size Uploaded Provenance
systemcard-0.1.0.tar.gz 115.6 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for systemcard 0.1.0
File
systemcard-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
systemcard-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 14.3 MB

Release files / systemcard-0.1.0.tar.gz

Download URL systemcard-0.1.0.tar.gz
Size 115.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e10adbcb217bddba2d295c59e0db7923df50555061d9ba8f692915bc1840dbb5
BLAKE2b-256 checksum
How to use checksums
c500fafd101baa87c606d9e8eb5bc2f6044fc32da1602265f1866ad2d2cf0811
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL systemcard-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9dd95cbc1b549a8b947cee65c0082397172adb042870084767e0cfe2b918eddb
BLAKE2b-256 checksum
How to use checksums
fe94801b767140776e6e05b812b46804b0e9999fa1928c82888e5d7b49ffed01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL systemcard-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.6 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
73162c2867f61ae197367e81e41ee8c5e6cdb7e9653a7628db9ba2b1ecda7668
BLAKE2b-256 checksum
How to use checksums
4f916179e8e71143d07d9bd5d3cee52512d0271e7fe0d220d76146012ff258e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL systemcard-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cc186647f8d857a47a7dafe402ec1af1f5e05e189c421c1314aacbdffec36c0b
BLAKE2b-256 checksum
How to use checksums
a959fcb66da49a957217abee30bc0ca5da41224fd6e0286a27d1abea4104252a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL systemcard-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3138a0d71a4763d5c0e9caa96e25eefbbc198bad83841f774de135250cf6334f
BLAKE2b-256 checksum
How to use checksums
4e2cb7aac7c47614a495f2eabceaf1f01494ffcb91b77137e791446e3cbe2e26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL systemcard-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c121625d4e328a6ee02099d8ee80a57f0ebf552465434a04f333acd9e2b80907
BLAKE2b-256 checksum
How to use checksums
4bb25c62cdb9b7c95ba6e7bbbdcc6dad3fc748913d3cf2ee36d3a82992979832
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL systemcard-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.6 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ad8048aea3d2f88980053e88185dd73b5410f85b875ff6c9b24e50f0cd4082cf
BLAKE2b-256 checksum
How to use checksums
fdd4b8e1f7f7b69eada15ce9bf0f7ac352432c30a68da9204788228fe58c41f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL systemcard-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
26fa1b05d9d591850d3f50ed44232cc5efefa893efac890a416582334510631b
BLAKE2b-256 checksum
How to use checksums
3abd012ab35018326bccdc356c09b1495c74d256b60a498152f818ea17f31151
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL systemcard-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
07282b38c60b310e02f14cb384c893a0b9c3381390f37084324b5689171f23b9
BLAKE2b-256 checksum
How to use checksums
2b85fb4e83b5a80762c54701fd7cfcee67ef1b7abe67543e9d49462cc52818cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / systemcard-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL systemcard-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
aa7a31a8f8d22949a955b0d13d40ff9de0a543ffd23dd4b294823e15ffbb4f7f
BLAKE2b-256 checksum
How to use checksums
098419212c63f0380a3e34d0a1ad50bf8dd3c09ef9f388e0c8e3acf8655f58ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Security for systemcard 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 10 files in this release have been uploaded with provenance metadata.

Select from 10 files

Attestation for systemcard-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

10 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page