Generate detailed file hash reports quickly and efficiently. Process large numbers of files with multiple filtering options.
Project description
hashreport
Overview
hashreport is a command-line tool that generates comprehensive hash reports for files within a directory. The reports can be output in CSV or JSON formats and include detailed information such as the file name, path, size, hash algorithm, hash value, and last modified date. Designed for speed and efficiency, hashreport can handle large volumes of files and offers filtering options to include or exclude files based on size, type, or name patterns.
Features
- Bulk hash generation for large directories
- Support for multiple hash algorithms using hashlib
- Multi-threaded processing for faster performance
- Output reports in CSV and JSON formats
- Filter files by size, type, and name patterns
- Option to provide a file list for inclusion or exclusion
- Recursive directory traversal to process nested folders
- Report viewer and comparison tool
- Email report upon completion using SMTP
Installation
There are a two ways to install hashreport on your system. Choose the option that works best for you:
Install with Pip
You can install hashreport using pip from the Python Package Index (PyPI):
pip install hashreport
Install from Source
Prerequisites
1. Download the Repository
Clone the repository to your local machine using Git and navigate to the project directory:
git clone https://github.com/madebyjake/hashreport.git && cd hashreport
Alternatively, you can download the repository as a ZIP file and extract it to a folder on your machine.
2. Install Dependencies
First we'll install Poetry, a Python packaging and dependency management tool. There are a few ways to do this, but the recommended method is to use the installer script:
curl -sSL https://install.python-poetry.org | python3 -
Next, install the project dependencies using Poetry:
poetry install
3. Run the Application
You can now run the application using Poetry:
poetry run hashreport --version
License
This project is licensed under the Affero General Public License v3.0 - see the LICENSE file for details.
Issues and Feedback
Please report any issues or feedback on the GitHub Issues page.
Project details
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 hashreport-0.8.1.tar.gz.
File metadata
- Download URL: hashreport-0.8.1.tar.gz
- Upload date:
- Size: 33.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bb8b7ce3b6b6f2069ec5a159376f3ea6769a821f6368d2ef2626c022f3c5150
|
|
| MD5 |
e6b35b50b597e351cc7f625573cf3a0c
|
|
| BLAKE2b-256 |
5f3dd1bcae9faeecc76e8e62308939cc8b65f5fc8d7742b7e3f4a343ad2792d7
|
Provenance
The following attestation bundles were made for hashreport-0.8.1.tar.gz:
Publisher:
publish-pypi.yml on madebyjake/hashreport
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hashreport-0.8.1.tar.gz -
Subject digest:
5bb8b7ce3b6b6f2069ec5a159376f3ea6769a821f6368d2ef2626c022f3c5150 - Sigstore transparency entry: 178095135
- Sigstore integration time:
-
Permalink:
madebyjake/hashreport@e5dd8b36d80a46017260f11a0fa9e714ade3f5a5 -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/madebyjake
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e5dd8b36d80a46017260f11a0fa9e714ade3f5a5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hashreport-0.8.1-py3-none-any.whl.
File metadata
- Download URL: hashreport-0.8.1-py3-none-any.whl
- Upload date:
- Size: 40.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7564c612db6ff190b3f97e9f2d7a43be2799f9a882f96b4c0df42b5a10d248c4
|
|
| MD5 |
f43f4c2c768005e2950330f91a8b0255
|
|
| BLAKE2b-256 |
2a29e3b130032e19fe271cd40c8f8091ab197d15dcf41aaff668329812bf9289
|
Provenance
The following attestation bundles were made for hashreport-0.8.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on madebyjake/hashreport
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hashreport-0.8.1-py3-none-any.whl -
Subject digest:
7564c612db6ff190b3f97e9f2d7a43be2799f9a882f96b4c0df42b5a10d248c4 - Sigstore transparency entry: 178095155
- Sigstore integration time:
-
Permalink:
madebyjake/hashreport@e5dd8b36d80a46017260f11a0fa9e714ade3f5a5 -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/madebyjake
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e5dd8b36d80a46017260f11a0fa9e714ade3f5a5 -
Trigger Event:
release
-
Statement type: