CacheKat 🐈
A TUI to see which dev caches eat your disk — and reclaim space safely, risk-graded. Never touches your data.
Main view (left: cleanable items, select with space, run with c;
right: report-only facts, visible but untouchable — the layout itself
teaches the safety model) and the confirm gate (nothing cleans without
an explicit yes; each row states its plain-words consequence; dry-run d
rehearses with the disk untouched):
| Main view | Confirm gate |
|---|---|
Why
Every developer machine accumulates caches that nobody watches: pip wheels, npm tarballs, playwright browsers (old versions pile up per release), docker build cache, dangling images, stopped containers... A fresh scan answers the only question that matters: who is eating the disk, and what is actually safe to reclaim?
Safety model (the feature)
| Category | Behavior |
|---|---|
| True caches (pip, npm, playwright orphans, docker build cache) | Selectable — each row states its plain-words consequence before anything runs |
| Docker volumes (your data) | Report-only. Never cleaned. No flag unlocks this. |
| Docker stopped containers / unused images | Containers: cleanable one by one, each warning that docker rm deletes the container itself (recreate via docker run/compose up; volumes untouched). Images: report-only until per-image selection ships. |
| Anything the probe cannot judge | Honest report-only ("liveness unknown"), never a guess |
- Every scan is read-only; cleaning is an explicit, confirmed selection.
- Dry-run mode (
d): rehearse exactly what would happen — disk untouched. - Probes that fail surface as visible error rows, never swallowed.
Install
pipx install cachekat
Or from source: pipx install git+https://github.com/Aeluris/CacheKat.git
Use
cachekat tui # interactive: scan -> select -> confirm -> clean
cachekat scan # read-only report: who eats the disk
cachekat scan --json # machine-readable
# every command accepts --lang auto|en|zh (auto follows the system language)
Docker rows need the docker daemon running — if the TUI shows
docker daemon unreachable, start Docker Desktop and press r to rescan.
Roadmap
- Core: probe registry,
scanCLI, pip probe, CI (Windows + Linux) - docker / npm / playwright probes (orphan detection, volumes red-lined)
- Textual TUI: select, confirm, clean, dry-run
- Per-container selection with loud not-a-cache warnings
- i18n: full en/zh,
--lang auto|en|zh - Per-image selection, more cache families (cargo, gradle, ...)
See CHANGELOG.md for details, CONTRIBUTING.md to help, AGENTS.md for the engineering rulebook.
License
MIT — © 2026 Aeluris
Metadata
Release files for cachekat 0.4.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cachekat-0.4.9.tar.gz | 31.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cachekat-0.4.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.6 kB
Release files / cachekat-0.4.9.tar.gz
| Download URL | cachekat-0.4.9.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1604b156df3554d1adc27f7755e005bb046258cdab4df102218fcd0babad0b2f
|
|
BLAKE2b-256 checksum How to use checksums |
12c09c2957390e3e9fcbf46f9ac29fe71b3f0518eea6cb63febb1130d39fb3a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / cachekat-0.4.9-py3-none-any.whl
| Download URL | cachekat-0.4.9-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
127d79f3414d6ef8bd0bd7d5140459970b2c42105ffe55fa7fbecb48212df7e6
|
|
BLAKE2b-256 checksum How to use checksums |
5037e346556a43cea3cf2953416a2af5f7f32aae7df61d72f867793f4e274cf7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|