#checksum #manifest #command-line #output #algorithm

app artsum

A simple command-line tool for generating and verifying a directory manifest of checksums

3 releases

new 0.1.2 Apr 27, 2025
0.1.1 Apr 23, 2025
0.1.0 Apr 22, 2025

#1368 in Command line utilities

Download history 203/week @ 2025-04-20

205 downloads per month

MIT license

120KB
2.5K SLoC

artsum

Personal manifest checksum generation / verification utility.

Occssionally I build manifests of large directory structures that I want to detect file changes in. I use this to generate a manifest at a point in time for a directory and then run the verification step to detect what files have been touched since I last generated the manifest.

Manifest Generation

# Simple usage, defaults to artsum.toml output
artsum generate .

# Control over the output manifest file is supported
artsum generate -o mymanifest.toml .

# If a specific checksum algorithm makes the most sense for a directory, I can specify the algorithm
artsum generate -a sha256 .

# Standard formats such as md5sum can also be used
artsum generate -f md5sum .

# Checksum modes are supported, binary mode is always the default
# You will likely run into errors if you attempt to generate text checksums in directories that contain files not using only UTF-8
artsum generate -m text .

# Control over the checksum chunk size is supported
artsum generate -c 1024 .

# Control over the number of checksum workers is supported
artsum generate -x 1 .

# Verbose logging is supported on the root command
# -v or -vv will output all generated manifest checksums
artsum -v generate .

Manifest Verification

# If I'm currently in a directory with a manifest file, I can verify the manifest
artsum

# If I'm not in a directory with a manifest file, I can target the directory with the manifest
artsum verify -m [MANIFEST_FILEPATH] .

# Control over the checksum chunk size is supported
artsum verify -c 1024 .

# Control over the number of checksum workers is supported
artsum verify -x 1 .

# Verbose logging is supported on the root command
# No verbose flag will always output verification failures
# -v will output warnings (such as missing files)
# -vv will output all verification results (including all successful verifications)
artsum -vv

Refresh a Manifest

# If I'm currently in a directory with a manifest file, I can refresh the manifest's checksums
artsum refresh .

# If I'm not in a directory with a manifest file, I can target the directory with the manifest
artsum refresh -m [MANIFEST_FILEPATH] .

# Control over the checksum chunk size is supported
artsum refresh -c 1024 .

# Control over the number of checksum workers is supported
artsum refresh -x 1 .

# Verbose logging is supported on the root command
# No verbose flag will always output updated or removed artifacts
# -v will output unchanged files
artsum -v refresh .

Dependencies

~9–19MB
~262K SLoC