{"id":24770763,"url":"https://github.com/madebyjake/hashreport","last_synced_at":"2025-04-09T18:24:49.348Z","repository":{"id":273470545,"uuid":"919692372","full_name":"madebyjake/hashreport","owner":"madebyjake","description":"Generate detailed file hash reports quickly and efficiently. Process large numbers of files with multiple filtering options. ","archived":false,"fork":false,"pushed_at":"2025-03-31T18:38:16.000Z","size":1249,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T19:35:24.417Z","etag":null,"topics":["agplv3","checksum","hash","python3","report","security","utility"],"latest_commit_sha":null,"homepage":"https://madebyjake.github.io/hashreport/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/madebyjake.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-20T20:41:04.000Z","updated_at":"2025-03-31T18:38:17.000Z","dependencies_parsed_at":"2025-01-21T05:26:48.214Z","dependency_job_id":"6d23625c-f504-43d1-bb1a-09f0b9da8f83","html_url":"https://github.com/madebyjake/hashreport","commit_stats":null,"previous_names":["madebyjake/hashreport"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyjake%2Fhashreport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyjake%2Fhashreport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyjake%2Fhashreport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyjake%2Fhashreport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madebyjake","download_url":"https://codeload.github.com/madebyjake/hashreport/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248086375,"owners_count":21045332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agplv3","checksum","hash","python3","report","security","utility"],"created_at":"2025-01-29T03:56:23.945Z","updated_at":"2025-04-09T18:24:49.317Z","avatar_url":"https://github.com/madebyjake.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hashreport\n\n[![Python](https://img.shields.io/badge/Python-3776AB?logo=python\u0026logoColor=fff)](https://www.python.org/)\n[![Poetry](https://img.shields.io/badge/Poetry-5037E9?logo=python\u0026logoColor=fff)](https://python-poetry.org/)\n[![MkDocs](https://img.shields.io/badge/MkDocs-526CFE?logo=materialformkdocs\u0026logoColor=fff)](https://www.mkdocs.org/)\n[![License](https://img.shields.io/badge/License-AGPL%20v3.0-5C2D91?logo=gnu\u0026logoColor=fff)](https://www.gnu.org/licenses/agpl-3.0.en.html)\u003cbr\u003e\n[![CodeQL](https://github.com/madebyjake/hashreport/actions/workflows/codeql.yml/badge.svg)](https://github.com/madebyjake/hashreport/actions/workflows/codeql.yml)\n[![Test](https://github.com/madebyjake/hashreport/actions/workflows/test.yml/badge.svg)](https://github.com/madebyjake/hashreport/actions/workflows/test.yml)\n[![Security](https://github.com/madebyjake/hashreport/actions/workflows/security.yml/badge.svg)](https://github.com/madebyjake/hashreport/actions/workflows/security.yml)\n\n## Overview\n\n**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.\n\n## Features\n\n- Bulk hash generation for large directories\n- Support for multiple hash algorithms using [hashlib](https://docs.python.org/3/library/hashlib.html)\n- Multi-threaded processing for faster performance\n- Output reports in CSV and JSON formats\n- Filter files by size, type, and name patterns\n- Option to provide a file list for inclusion or exclusion\n- Recursive directory traversal to process nested folders\n- Report viewer and comparison tool\n- Email report upon completion using SMTP\n\n## Installation\n\nThere are a two ways to install **hashreport** on your system. Choose the option that works best for you:\n\n### Install with Pip\n\nYou can install **hashreport** using `pip` from the Python Package Index ([PyPI](https://pypi.org/project/hashreport/)):\n\n```bash\npip install hashreport\n```\n\n### Install from Source\n\n#### Prerequisites\n\n- [Python 3](https://www.python.org/downloads/) (tested with 3.10+)\n- [Git](https://git-scm.com/downloads) (optional)\n\n#### 1. Download the Repository\n\nClone the repository to your local machine using Git and navigate to the project directory:\n\n```bash\ngit clone https://github.com/madebyjake/hashreport.git \u0026\u0026 cd hashreport\n```\n\nAlternatively, you can download the repository as a ZIP file and extract it to a folder on your machine.\n\n#### 2. Install Dependencies\n\nFirst 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:\n\n```bash\ncurl -sSL https://install.python-poetry.org | python3 -\n```\n\nNext, install the project dependencies using Poetry:\n\n```bash\npoetry install\n```\n\n#### 3. Run the Application\n\nYou can now run the application using Poetry:\n\n```bash\npoetry run hashreport --version\n```\n\n## License\n\nThis project is licensed under the **Affero General Public License v3.0** - see the [LICENSE](LICENSE) file for details.\n\n## Issues and Feedback\n\nPlease report any issues or feedback on the [GitHub Issues](https://github.com/madebyjake/hashreport/issues) page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadebyjake%2Fhashreport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadebyjake%2Fhashreport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadebyjake%2Fhashreport/lists"}