Overview¶
Efficiency¶
Chicky try to be efficient as possible and you should be safe to use it on hundreds of files with an average size.
Above this measures, you should care about amount of files you are traversing, file size can be a concern when they are larger than 500Mb but the most important is the amount of files to process.
Don’t forget to use filter options to limit file traversing that you don’t need.
Checksum algorithm¶
We chosen Blake2b algorithm because it is efficient and naturally support hash digest size.
It is widely deployed on distributions with the GNU Core Utilities
which provides a command b2sum that you may use for comparaison (BLAKE2 checksum)
for a file:
b2sum yourdownloadedfile.tar.gz
Formats¶
On default the output of Chicky is in JSON:
{
"created": "2025-01-15T10:00:00",
"basedir": "mydirectory",
"extensions": None,
"files": {
"empty.txt": "3345524abf6bbe1809449224b5972c41790b6cf2",
"css/bootstrap.css": "b5b31416eb16e75e8d35469467229af5954d7ebf",
}
}
You may however prefer a more basic text format with the option --format text:
file.txt 3345524abf6bbe1809449224b5972c41790b6cf2
css/bootstrap.css b5b31416eb16e75e8d35469467229af5954d7ebf
From this format the columns are divided with a tabulation character.
Filtering¶
You have some optional command argument to apply basic filtering on file collection.
As an advanced example with this structure:
sample
├── css
│ ├── bootstrap.css
│ ├── parts
│ │ ├── bootstrap-grid.css
│ │ └── bootstrap-reboot.css
│ └── vendor
│ └── bootstrap-icons.css
├── empty.txt
└── images
├── atoum
│ ├── favicon.ico
│ └── logo.png
├── favicon.ico
├── furo-adjustments.css
├── logo.png
└── lotus
├── favicon.ico
└── logo.png
With the following command:
chicky --format=text --ext=css --ignore-dir-lead=images --ignore-dir-lead=css/vendor \
--ignore-file-lead=bootstrap- --ignore-file-lead=logo.p sample
Here we applied filters:
Only files ending with
.cssextension are collected;Paths with a directory starting with
imagesare not collected;Paths with a directory starting with
css/vendorare not collected;Paths with a filename starting with
bootstrap-are not collected;Paths with a filename starting with
logo.pare not collected;
Note
Filters from --ignore-dir-lead and --ignore-file-lead are matched again the
relative path, it means relatively to the source directory path.
We used text format (to ease readability) and so you would get the following output:
css/bootstrap.css b5b31416eb16e75e8d35469467229af5954d7ebf