Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,22 @@ This project follows a Keep a Changelog-style format and uses version tags for r

## [Unreleased]

## [1.9.4] - 2026-08-12

### Fixed

- **The local cover page (`docs/cover.html`) never rendered its hero image.**
It referenced `actop-demo.gif` relative to `docs/`, but the GIF lives in
`images/` — so opening the local copy always showed a broken image. It now
points at `../images/actop-demo.gif`, which resolves without duplicating a
4.3 MB binary into the repo.
- **`docs/cover.html` is regenerated from the build output** rather than
hand-edited, so it matches what is actually published. It had drifted several
versions behind and carried a hand-written version string that the build
injects automatically. Regenerating it at the same version as the tag keeps
the rendered copy and `pyproject.toml` in agreement; it is a snapshot of the
published page, and `cover/index.html` remains the single source.

## [1.9.3] - 2026-08-12

### Fixed
Expand Down
14 changes: 7 additions & 7 deletions docs/cover.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!-- repo:c53e879 built:2026-08-12T17:30:00Z -->
<!-- repo:8feed7b built:2026-08-13T03:41:41Z -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>actop — Apple Silicon performance monitor</title>
<meta name="description" content="actop is a sudoless, in-process performance monitor for M1–M4 Macs: CPU/GPU/ANE utilization, per-core frequency, memory bandwidth, power, and thermals — plus a Python API for profiling your own LLM / MLX / CoreML workloads.">
<meta name="description" content="actop is a sudoless, in-process performance monitor for M1–M4 Macs: CPU/GPU/ANE utilization, per-core frequency, memory bandwidth, network/disk I/O, power, and thermals — plus a Python API for profiling your own LLM / MLX / CoreML workloads.">
<style>
:root {
--bg: #0d1117;
Expand Down Expand Up @@ -166,14 +166,14 @@

<section class="hero">
<div class="wrap">
<span class="badge">v1.9.0</span>
<span class="badge">v1.9.4</span>
<h1>actop<span>.</span></h1>
<p class="tagline">
Watch your Apple Silicon Mac the way it actually works — <strong>sudoless</strong>,
in-process, for M1–M4.
</p>
<div class="demo">
<img src="actop-demo.gif" alt="actop live during a llama.cpp inference run: E-CPU/P-CPU/GPU/ANE utilization, per-core frequency, memory bandwidth, and power charts on Apple Silicon">
<img src="../images/actop-demo.gif" alt="actop live during a llama.cpp inference run: E-CPU/P-CPU/GPU/ANE utilization, per-core frequency, memory bandwidth, and power charts on Apple Silicon">
<div class="caption">Live under a local llama.cpp run — the stack layout with braille then block sparklines, then the process panel with its watt-attributed PWR column.</div>
</div>
</div>
Expand All @@ -197,8 +197,8 @@ <h3><span class="ic">▮</span>Memory bandwidth</h3>
<p>Live GB/s against the SoC's peak, with a bandwidth-saturation alert and a MEM-BOUND indicator.</p>
</div>
<div class="feature">
<h3><span class="ic">▮</span>Network & disk I/O</h3>
<p>Throughput on both buses as mirrored in-over-out charts, read unprivileged from <code>getifaddrs</code> and IOKit volume counters — no <code>iostat</code> subprocess.</p>
<h3><span class="ic">▮</span>Net / disk I/O</h3>
<p>Network and disk throughput as mirrored in-over-out charts sharing a zero axis, sourced from native getifaddrs and IOKit counters — no sudo, no subprocesses.</p>
</div>
<div class="feature">
<h3><span class="ic">▮</span>Thermals & throttling</h3>
Expand Down Expand Up @@ -275,7 +275,7 @@ <h2>actop — Apple <span style="color: var(--accent);">C</span>hip top</h2>

<footer>
<div class="wrap">
<p>actop v1.9.0 · an independent project inspired by <a href="https://github.com/tlkh/asitop">asitop</a> · MIT licensed</p>
<p>actop v1.9.4 · an independent project inspired by <a href="https://github.com/tlkh/asitop">asitop</a> · MIT licensed</p>
</div>
</footer>

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "actop"
version = "1.9.3"
version = "1.9.4"
description = "Apple Silicon (M1–M4) power, GPU, ANE & memory-bandwidth monitor — sudoless TUI + Python API for profiling local LLM / MLX / CoreML inference"
readme = "README.md"
license = { text = "MIT" }
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.