| Crates.io | frecenfile |
| lib.rs | frecenfile |
| version | 0.4.0 |
| created_at | 2025-05-01 15:58:36.048855+00 |
| updated_at | 2025-05-10 12:18:33.243674+00 |
| description | Compute frecency scores for files in a Git repository |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1656415 |
| size | 47,778 |
frecenfile computes frecency scores for files in Git repositories. Frecency combines the frequency and recency of events.
This is useful as a heauristic for finding relevant or trending files when all you have to work with is the commit history.
frecenfile is highly scalabe, producing a sorted output within miliseconds for mid-sized repositories, and processing the entire commit history Linux in under a minute. Processing the last 3000 commits in the Linux repository takes just around a second.
For most purposes, the results should be easily cacheable.
By default, frecenfile processes the last 3000 commits, but this can be modified using the --max-commits
flag. Processing an excessive amounts of commits would not usually be usueful, as "trending" files
are not likely to be buried deep in the commit history. Processing only a smaller amount of commits is not
likely to be needed for performance reasons, but might be useful for some use cases.
cargo install frecenfile
frecenfile
frecenfile --path-only
frecenfile --paths src tests
frecenfile --ascending
12.9423 src/lib.rs
9.3310 src/analyze.rs
2.7815 README.md