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.
How it works
scan (read-only) → risk-grade → select → confirm → clean
Every step funnels through explicit safety gates — probes crash into visible error rows, data lands in report-only, cleaning needs an explicit yes, and dry-run rehearses with the disk untouched:
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.10
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.10.tar.gz | 31.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cachekat-0.4.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.5 kB
Release files / cachekat-0.4.10.tar.gz
| Download URL | cachekat-0.4.10.tar.gz |
|---|---|
| Size | 31.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bbfb6251f10191201904414c7410fabdf6ed22ebedf94e337593806c28f67181
|
|
BLAKE2b-256 checksum How to use checksums |
1cfdb2f1b3e8528ffc0712f3ffb1360f3194418e273a08d5b6a70cac5cfca41f
|
| 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.10-py3-none-any.whl
| Download URL | cachekat-0.4.10-py3-none-any.whl |
|---|---|
| Size | 26.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
045d1a704a482d73188a5420f02f9be9b57eb62f6ed89024740b1553b9edf28c
|
|
BLAKE2b-256 checksum How to use checksums |
5ab9f487e49993f3c183d1304816a27674c5cd25c456f12716ffe6d999e4cdf4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|