V1.3 - #3
Closed
Par-python wants to merge 2 commits into
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three features toward v1.3, ahead of the README refresh and version bump.
--sort/--reverseon the default scan. Sort the category breakdown bysize(default),count,stale-size,stale-count, orname. Scan-only, same warning rule as--top/--json.bigfiles dupes. Full-file hashes are cached to the OS cache dir, keyed by(path, mtime_ns, size)and hash-algorithm-tagged.--no-cacheskips it;--clear-cachewipes it before running. ~40x speedup on warm re-scans in local testing.bigfiles auditsubcommand. Human-facing "what's eating your disk" view that surfaces 4–6 severity-ranked insights (heaviest category, top extensions, installer junk, top-N-file concentration, stale concentration). Reuses the existing scan + analyzer pipeline; no new flags.Why
--sortis a small, high-leverage UX win — users have asked for category-by-count and alphabetical views.bigfiles dupesfrom an occasional-use tool into something you can run frequently without paying the full BLAKE3 cost every time.auditlowers the cognitive cost of the first run. Most people don't know what they're looking for;auditanswers "what should I care about?" in five lines.Backward compatibility
Public API is preserved.
analyzer::analyzeanddupes::findkeep their original signatures. New surface added alongside:analyzer::sort_summaries(&mut [CategorySummary], SortKey, reverse)dupes::find_with_cache(&[FileEntry], min_size, &HashCache)bigfiles::cache::HashCache(load / get / insert / save / empty)bigfiles::audit::analyze+renderLicense note
Added
MPL-2.0todeny.toml's allow list. The cache module uses thedirscrate, which transitively depends onoption-ext(MPL-2.0). MPL-2.0 is file-level copyleft and fully compatible with this project's AGPL-3.0-or-later license.Test plan
cargo fmt --all -- --check— cleancargo clippy --all-targets -- -D warnings— cleancargo build --release— cleancargo test --release— 53 pass (was 41 onmain; +12 new tests across analyzer, cache, audit)cargo deny check bans licenses sources advisories— cleanbigfiles --sort name/--sort count/--reversereorder the category table as expectedbigfiles dupesrun reads the cache (~40x faster),--no-cachedisables it,--clear-cachewipesbigfiles audit ~/Documents/bigfilesproduces severity-coded output with appropriate insightsStill to come before v1.3 release
Cargo.toml