Multi-threaded MD5 checksum generator and verifier
Project description
Quick_md5check
Multi-threaded MD5 checksum generator and verifier. Computes and verifies MD5 hashes for many files in parallel — significantly faster than single-threaded md5sum on multi-core systems.
Features
- Multi-threaded — configurable thread count via
-j/--jobs - Generate mode — scan a directory and compute MD5 for every file
- Check mode — verify files against an
md5sum-format file - Cross-platform — Windows, Linux, macOS
- Standard output format — compatible with GNU
md5sumandmd5sum -c - Progress bar — real-time feedback via
tqdm - Recursive scan — optionally disable with
--no-recursive
Installation
pip
pip install quick_md5check
conda
conda install -c your-channel quick_md5check
From source
git clone https://github.com/lg10is1/quick_md5check.git
cd md5check
pip install -e .
Usage
Generate checksums
# Use all available CPU cores
md5check generate ./myfiles -o checksums.md5
# Use 8 worker threads
md5check generate ./myfiles -j 8 -o checksums.md5
# Non-recursive (top-level files only)
md5check generate ./myfiles --no-recursive -o checksums.md5
# Print to stdout
md5check generate ./myfiles
Verify checksums
# Verify using checksum file, auto-detect base dir
md5check check checksums.md5
# Use 8 worker threads
md5check check checksums.md5 -j 8
# Specify base directory for relative paths
md5check check checksums.md5 -C ./myfiles
Compatible with GNU md5sum
# Generate (GNU md5sum format)
md5sum myfiles/* > checksums.md5
# Verify with md5check
md5check check checksums.md5
# Generate with md5check, verify with GNU md5sum
md5check generate ./myfiles -o checksums.md5
md5sum -c checksums.md5
Output format
Standard md5sum format — one entry per line:
d41d8cd98f00b204e9800998ecf8427e path/to/empty.txt
900150983cd24fb0d6963f7d28e17f72 path/to/hello.txt
Development
Run from source
python -m md5check generate ./tests/data -j 4
Build
# Install build dependencies
pip install build
# Build wheel and source distribution
python -m build
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 quick_md5check-1.0.0.tar.gz.
File metadata
- Download URL: quick_md5check-1.0.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1241250cc4a6e355241fb1d305e4dca1c899e3efa1af2beb2ca15cac22f0370b
|
|
| MD5 |
9e775f907b5e64d860934cc86332d2e4
|
|
| BLAKE2b-256 |
1a3509f691ab0ae6138628eef2ae6d1f00caf9ae95402e58da4da7c1627dbb24
|
Provenance
The following attestation bundles were made for quick_md5check-1.0.0.tar.gz:
Publisher:
publish.yml on lg10is1/quick_md5check
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quick_md5check-1.0.0.tar.gz -
Subject digest:
1241250cc4a6e355241fb1d305e4dca1c899e3efa1af2beb2ca15cac22f0370b - Sigstore transparency entry: 1482239346
- Sigstore integration time:
-
Permalink:
lg10is1/quick_md5check@0a726023feffd44d941f6a389b5171b3d8e8fb94 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/lg10is1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0a726023feffd44d941f6a389b5171b3d8e8fb94 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file quick_md5check-1.0.0-py3-none-any.whl.
File metadata
- Download URL: quick_md5check-1.0.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3467aabcb695990327afd5f17cb7968dd0a7a939e090131e86313a88a15fb0ce
|
|
| MD5 |
2a4e8512ee5698b48d62a4e37309103e
|
|
| BLAKE2b-256 |
aa515edd4a20a329ff8ff89f35033b9ec1bf62733e7009228179eed1fa8639c0
|
Provenance
The following attestation bundles were made for quick_md5check-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on lg10is1/quick_md5check
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quick_md5check-1.0.0-py3-none-any.whl -
Subject digest:
3467aabcb695990327afd5f17cb7968dd0a7a939e090131e86313a88a15fb0ce - Sigstore transparency entry: 1482239437
- Sigstore integration time:
-
Permalink:
lg10is1/quick_md5check@0a726023feffd44d941f6a389b5171b3d8e8fb94 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/lg10is1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0a726023feffd44d941f6a389b5171b3d8e8fb94 -
Trigger Event:
workflow_dispatch
-
Statement type: