Current page: Mac

voltry-mac, free on PyPI

One Mac, one report.

One command reads what macOS and the Mac's own parts report about memory, battery, storage and heat. It prints a plain summary and saves the full report as a PDF.

Install voltry-mac

pipx install voltry-mac
Copies one line

Then run voltry-mac. Needs an Apple silicon Mac on macOS 15 or later, and Python 3.11 or later for pipx. No pipx? The package page shows the uv way.

Sample report Terminal summary
$ voltry-mac
...
MAC HARDWARE OBSERVATION REPORT
Point-in-time observations, not a diagnosis, grade or certificate.
MacBook Pro (Mac17,2), Apple M5. 23 Sep 2026, 14:05 (UTC-7).
Collection: complete. 22 read, 0 skipped, 1 unavailable (no public
interface on Macs).
Administrator reads: asked, granted, cleared.
Validated configuration: yes.

AT A GLANCE
  Storage   SSD reports 1% of its rated endurance used.        reported
  Battery   macOS reports condition Good, capacity 99%.        reported
  Memory    0 records in macOS's private memory error log.     measured
            That does not prove the memory never had errors.
  Thermal   Nominal in 5 of 5 samples.                         derived
  Security  SIP, Gatekeeper, FileVault and Activation Lock on. reported
  Not read  ECC error counters: no public interface on Macs.
Real values from the tested Mac, shortened. Report ID left out. The full summary and the PDF go section by section.
  • Read only. It changes no setting. The two reads that need your password are explained, and it asks first.
  • No network. It makes no network connection and sends no report data anywhere.
  • Nothing kept but your report. No settings, history or log of its own. The report files you keep are all it leaves.

Tested on one configuration. MacBook Pro, Apple M5 (Mac17,2), macOS 26.6.2. Any other Apple silicon Mac on macOS 15 or later gets a full report with a warning.

For Mac clusters

Mac Fleet, beta.

A rank 0 Mac Studio B rank 1 Mac Studio C rank 2 Mac Studio D rank 3 Mac Studio

mesh ready · 6 of 6 links confirmed from both ends

Four Macs, six direct cables, one inference job. Illustration.

Built for four-Mac inference clusters: when the job slows or stops, see what the job, each Mac and each direct Thunderbolt cable actually reported.

Beta · by invitation

Join the Mac Fleet beta.

We are inviting teams that run Apple silicon inference clusters. Tell us about yours.

We reply within a day

What voltry-mac reads

What the Mac already records about itself.

Each item says where it came from: measured, reported by the source, or derived with the formula shown. Anything it could not read says so, and why.

Memory error store
Counts the memory errors macOS has recorded in its own log, correctable and uncorrectable. Zero means none are recorded there now, not none ever.
Not yet checked on a Mac running macOS 27.
Battery
Condition and maximum capacity as macOS reports them. Charge cycles against the design count. Full charge against design capacity. Temperature.
On macOS 27, some gauge readings, such as design capacity and temperature, do not read yet. The report says so. We are fixing it.
Storage
The SSD's own health log: SMART status, endurance used, spare left, data written, power-on hours, unsafe shutdowns and media errors.
Thermals
Thermal pressure and processor power, sampled for 5 seconds with no load applied. Each sample is a macOS estimate, not wall power.

Also in the report: security settings, the last restart and how many panic reports the Mac keeps. Memory errors and thermals need your password; say no and the rest of the report still runs.

Mac Fleet in five steps

Four graphs. Never one flag.

The wiring plan, what each Mac sees, the link state and the job stay four separate facts. Scroll, press Next, or use the arrow keys.

Illustration step 1 of 5
AB AC AD BC BD CD A rank 0 Mac Studio TB1 TB2 TB3 B rank 1 Mac Studio TB1 TB2 TB3 C rank 2 Mac Studio TB1 TB2 TB3 D rank 3 Mac Studio TB1 TB2 TB3
meshunchecked serviceidle endpoints: not yet checked
intended wiring4 Macs, 6 links
observed peersnot yet checked
link statenot yet checked
jobidle

1 of 5

Four Macs, six cables, one job.

Four Mac Studios, joined by six direct Thunderbolt 5 cables, so every Mac is wired to every other. One inference job runs across all four, one rank per Mac.

2 of 5

Every link is watched from both ends.

A link counts as matched only when both Macs report the same peer and the direct check agrees. Six links, twelve endpoints, one job: each is a separate fact.

3 of 5

A node goes quiet.

Three links unknown, not three bad cables. The mesh status is withdrawn. The job may still be serving.

When C stops reporting, Mac Fleet says so. It does not guess.

4 of 5

Evidence behind every alert.

Each alert opens to what it rests on: what A reported, what C reported, and what the direct check saw. The cause is written in plain words.

5 of 5

Back to green, honestly.

No green until every link is confirmed from both ends.

C returns. Each link is checked again from both sides. The mesh reads ready only after the sixth one lands, and the job reads serving after its next heartbeat.

The times above are an example, not a real cluster.

Scope

What these tools do not do.

No silicon certification.
The report is point-in-time observations, not a diagnosis, grade or certificate.
No SSD prediction.
The drive's own counters show limited history. Nothing here says how long it will last.
No cable blame without evidence.
A link counter cannot name a cable. A bad cable is named only with the provider's evidence.
No green badge over unknowns.
If anything essential is unknown, the status says unknown. Anything not read says why, never zero.
Install voltry-mac Back to the one line
Join the Mac Fleet beta A four-field form