Actualis

Getting started

Install

Python 3.9 or newer. No runtime dependencies, deliberately — the tool reads your session history, so it should be auditable in one sitting and installable without a supply chain.

From PyPI

Published as actualis on PyPI — worth opening before you install anything: it shows the version, the AGPL-3.0 licence, and that the package declares no dependencies.

recommended
$ pip install actualis
$ actualis

Or without installing anything permanently:

$ uvx actualis

Upgrading from 0.1.0

Upgrade if you are on 0.1.0. It counted every transcript record as a billable message, and a transcript repeats the same assistant record while a response streams. On a real corpus that overstated cost by 2.13×. Any cost figure you took from 0.1.0 is roughly double — re-run it.

$ pip install --upgrade actualis
$ actualis --version

From source

The whole CLI is a single file. Cloning and running it directly is a first-class way to use this tool, not a fallback:

$ git clone https://github.com/digital-foundry/actualis
$ python3 actualis/actualis.py

To install a cloned checkout as a command:

$ uv tool install .     # or: pipx install .

Note. uv tool install copies the code rather than linking it, so re-run it with --force after pulling to pick up changes.

The tray app

The menu bar app is a separate Go binary. Pre-built binaries are attached to each release, but they are not signed yet — macOS Gatekeeper will refuse the download and Windows SmartScreen will warn. Until that is fixed, build it yourself:

$ cd tray-go && go build -o actualis-tray .

See the tray app for what it does once running.