Tiered laptop storage reclaimer: find junk, LZX-compress cool folders, 7z-archive cold ones — all reversible.
Project description
ColdStore
Tiered laptop storage reclaimer for Windows. Point it at a folder, get an honest, categorized plan of what can be freed, then apply the plan — every action is journaled and reversible.
What it does
Three tiers, safest first:
| Tier | Trigger | Action | Reversible via |
|---|---|---|---|
| JUNK | Regenerable folders (node_modules, .venv, __pycache__, browser caches, Temp) or app caches |
Send to Recycle Bin | Restore via Shell.Application COM |
| COOL | Not accessed in 30+ days, non-media content | NTFS/LZX compress in place with compact.exe |
compact /u /s /a /i /exe |
| COLD | Not accessed in 180+ days | 7z archive; original folder replaced with a .coldstore stub file |
coldstore restore <stub> |
Bonus: bit-exact JPEG -> JPEG XL lossless transcode using libjxl — reversible to the byte-identical original JPEG.
Install
pip install coldstore
Optional external tools that unlock extra performance / features:
- 7-Zip — if
7z.exeis on PATH, cold archiving uses the native binary (much faster on large folders). Otherwise the pure-Pythonpy7zrfallback is used automatically. - libjxl —
cjxl.exe/djxl.exeon PATH enable the bit-exact JPEG -> JXL media tier.
Usage
coldstore scan <path> # dry-run report of reclaimable space
coldstore analyze <path> [--tree] # WizTree-style disk analysis
coldstore apply <path> --junk --cool --cold # do the work
coldstore restore <stub.coldstore> # restore an archived folder
coldstore undo --last N | --entry K # undo previous actions
coldstore journal [--limit N] # timeline of everything done
coldstore gui # graphical interface
coldstore register [--uninstall] # register .coldstore file association
coldstore schedule --target <path> --cadence weekly
coldstore media scan|apply|restore <path> # bit-exact JPEG <-> JXL
Recommended first run — read-only, no changes:
coldstore analyze C:\Users\%USERNAME% --tree --tree-depth 4 --tree-min-share 1
coldstore scan C:\Users\%USERNAME% --min-size-mb 100
Then, when you're ready to actually reclaim space:
coldstore apply C:\Users\%USERNAME% --min-size-mb 100 --junk --cool --cold
Every action is written to %USERPROFILE%\.coldstore\actions.jsonl. To undo
anything:
coldstore journal --limit 20
coldstore undo --entry 14
How the tiers avoid overlap
If a folder qualifies as COOL/COLD but contains a JUNK sub-folder, the container's projection subtracts the JUNK bytes before estimating savings. The report therefore never double-counts across tiers.
Safety
- Every action is journaled with before/after bytes.
- JUNK goes to the Recycle Bin (never hard-deleted).
- COLD archives are integrity-verified with
7z t(or py7zr'stestzip) before the original folder is removed. - OneDrive cloud-placeholder files are detected via
GetFileAttributesW(real attribute check, not a path heuristic) and excluded by default. - Never touches
C:\Windows,Program Files,ProgramData, or the Recycle Bin.
Requirements
- Windows 10 1607+ (LZX compression) or Windows 11
- Python 3.10+
- NTFS filesystem for the COOL tier
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file disk_coldstore-0.1.0.tar.gz.
File metadata
- Download URL: disk_coldstore-0.1.0.tar.gz
- Upload date:
- Size: 33.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6faae736866fa07a3b0752a81dd589734464a77bc13df912cc9537fca8cb3171
|
|
| MD5 |
0c3fe63270e9548c21a0f9013574f5a5
|
|
| BLAKE2b-256 |
d1b073f7087cbe9e0fa36c7f3c81472377dcd7812a67d0e6db7ef43d34c877a5
|
File details
Details for the file disk_coldstore-0.1.0-py3-none-any.whl.
File metadata
- Download URL: disk_coldstore-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9708d359d18e0154dc5660acb2e46db5f4a128e9b3cbecc5ce1523f20fd34d0
|
|
| MD5 |
1e431587ad98b6c400c99662f57bc786
|
|
| BLAKE2b-256 |
7636414f85afcb79692eec37dad53ef16ff895e834ac03fc80889bfd2ccc689a
|