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.11
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.11.tar.gz | 31.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cachekat-0.4.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.5 kB
Release files / cachekat-0.4.11.tar.gz
| Download URL | cachekat-0.4.11.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc21eb9fa002974676f19bdec261796ca706fa2e6208033368a840099aeb6dc5
|
|
BLAKE2b-256 checksum How to use checksums |
eecc3229b1e2c865e7645e976c9f35b59edf06a1199872fa855f90cdf1ec798c
|
| 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.11-py3-none-any.whl
| Download URL | cachekat-0.4.11-py3-none-any.whl |
|---|---|
| Size | 26.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e84251a8afd2ca4029d4d6235d4a57031cf8bf9861a5efc09db0f752951dc9c4
|
|
BLAKE2b-256 checksum How to use checksums |
54a6276e6c1bcad82625387e796f542436d474b41e1dd38696c59730354c0456
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|