{"id":34585200,"url":"https://github.com/gitname/dupeguru-post-processor","last_synced_at":"2026-05-28T10:32:41.832Z","repository":{"id":50532777,"uuid":"515746834","full_name":"gitname/dupeguru-post-processor","owner":"gitname","description":"Post-process dupeGuru results to identify non-duplicate files","archived":false,"fork":false,"pushed_at":"2022-08-01T19:16:52.000Z","size":150,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-14T08:39:02.389Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/arsenetar/dupeguru/issues/218#issuecomment-1188238170","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitname.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-19T21:30:37.000Z","updated_at":"2024-03-10T03:05:38.000Z","dependencies_parsed_at":"2022-09-11T23:41:24.506Z","dependency_job_id":null,"html_url":"https://github.com/gitname/dupeguru-post-processor","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/gitname/dupeguru-post-processor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitname%2Fdupeguru-post-processor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitname%2Fdupeguru-post-processor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitname%2Fdupeguru-post-processor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitname%2Fdupeguru-post-processor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitname","download_url":"https://codeload.github.com/gitname/dupeguru-post-processor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitname%2Fdupeguru-post-processor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33605378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-12-24T10:29:49.377Z","updated_at":"2026-05-28T10:32:41.827Z","avatar_url":"https://github.com/gitname.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dupeguru-post-processor\n\n`dupeguru-post-processor` is a Python script that can be used to compare a folder on your computer to a set of dupeGuru results. Specifically, it can be used to determine which files in the folder are not listed in the CSV file; effectively, identifying the files of which dupeGuru found _no_ duplicates.\n\n[dupeGuru](https://github.com/arsenetar/dupeguru) is a tool that can be used to identify duplicate files among two or more folders. The creation of this \"post-processing\" script was inspired by [this GitHub issue](https://github.com/arsenetar/dupeguru/issues/218).\n\n# Workflow\n\n```mermaid\nflowchart LR\n\n    subgraph d [dupeGuru]\n      d1[Perform filename or contents scan]--\u003ed2[Export results as CSV file]\n    end\n    \n    subgraph p [post-processor]\n      p1[Specify folder]--\u003ep2[Specify CSV file]\n      p2--\u003ep3[Run script]\n      p3--\u003ep4[See list of files]\n    end\n    \n    d2-.-\u003ep1\n```\n\n# Usage\n\n### Environment\n\nThis script was developed using Python version `3.10.5`.\n\n### CLI\n\u003e **Note:** You can use the CLI without installing any dependencies, since all dependencies used by the CLI are included in the Python standard library.\n\nDisplay usage information:\n\n```shell\n$ python main.py --help\n\nusage: main.py [-h] [--output_csv_file PATH] [--log_level LEVEL] folder csv_file\n\nCompares a folder to a CSV file exported from dupeGuru. Displays the differences \non the console (default) or writes them to a CSV file.\n\npositional arguments:\n  folder                path to the folder with which you want to compare the CSV\n                        file exported from dupeGuru\n  csv_file              path to the CSV file exported from dupeGuru\n\noptions:\n  -h, --help            show this help message and exit\n  --output_csv_file PATH\n                        if you use this option, the script will generate a CSV file\n                        at the path you specify; otherwise, the script will display\n                        the results on the console\n  --log_level LEVEL     specify a logging level for the script\n```\n\n\u003e Note: File and folder paths can be absolute paths and/or relative paths.\n\n### Examples\n\nHere are some example invocations of the script:\n\n#### Display results on console\n\n```shell\n$ python main.py /path/to/folder/ ./some/dupelist.csv\n``` \n\n#### Save results to a CSV file and display debug information\n\n```shell\n$ python main.py /path/to/folder/ ./some/dupelist.csv --output_csv_file /temp/nondupes.csv --log_level DEBUG\n``` \n\n### GUI\n\nThe GUI was created as an \"afterthought\" to the CLI and is targeted at users who are already familiar with the CLI options, but don't want to type filesystem paths onto the command line.\n\nInstall dependencies:\n\n```shell\n$ python -m pip install -r requirements.txt\n```\n\nOpen the GUI:\n\n```shell\n$ python gui.py\n```\n\nHere's what the GUI looks like as of version `1.2.2`:\n\n![gui](./doc/gui.png)\n\n# Testing\n\nRun the unit tests:\n\n```shell\n$ python -m unittest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitname%2Fdupeguru-post-processor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitname%2Fdupeguru-post-processor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitname%2Fdupeguru-post-processor/lists"}