{"id":18696923,"url":"https://github.com/vra/dompare","last_synced_at":"2025-07-31T12:10:01.231Z","repository":{"id":53565032,"uuid":"217168506","full_name":"vra/dompare","owner":"vra","description":":green_apple: :apple:  A  tool to compare  two directories and show diff in HTML:apple: :green_apple:","archived":false,"fork":false,"pushed_at":"2023-11-22T10:35:22.000Z","size":198,"stargazers_count":23,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-24T04:00:53.221Z","etag":null,"topics":["diff","linux","linux-utility","python"],"latest_commit_sha":null,"homepage":"","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/vra.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2019-10-23T23:00:48.000Z","updated_at":"2024-05-13T15:37:33.000Z","dependencies_parsed_at":"2023-11-22T11:45:38.027Z","dependency_job_id":null,"html_url":"https://github.com/vra/dompare","commit_stats":{"total_commits":43,"total_committers":4,"mean_commits":10.75,"dds":"0.34883720930232553","last_synced_commit":"f87ca4b349ba1c206f8df73bee7c99f05a45788d"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vra/dompare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vra%2Fdompare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vra%2Fdompare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vra%2Fdompare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vra%2Fdompare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vra","download_url":"https://codeload.github.com/vra/dompare/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vra%2Fdompare/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268036209,"owners_count":24185172,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"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":["diff","linux","linux-utility","python"],"created_at":"2024-11-07T11:21:53.891Z","updated_at":"2025-07-31T12:10:01.173Z","avatar_url":"https://github.com/vra.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# dompare\n\n[![BUILD](https://github.com/vra/dompare/actions/workflows/python-package.yml/badge.svg)](https://github.com/vra/dompare/actions)\n\nA command line tool to diff two directories recursively.\n\n## Demo\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"images/dompare-demo.svg\"\u003e\n\u003c/p\u003e\n\nThen visit http://localhost:5240/xxx.html, as shown in output above, you will see the detailed difference of these two directories:\n\n![Diff Results](images/dompare-screenshot.png)\n\n## Features\n\n1. Easy to install and use, nice visualization\n2. Recursively compare same name files in two directories\n3. Optional settings for exclude certain directories\n4. Completely based on Python and HTML, no extra tools needed\n\n## Installation\n\n```bash\npip3 install dompare\n```\n\n## Using dompare\n### Basic usage\n```bash\ndompare folder-a folder-b\n```\n\nThen open your webbrowser and visit `http://localhost:5140`, you will see the difference information of `folder-a` and `folder-b`.\n\n### Public access\nYou can also use `--host` and `--port` options to change your host and port to listen:\n\n```bash\ndompare folder-a folder-b --host 0.0.0.0 --port 8888\n```\n\nBy adding `--host 0.0.0.0`, you and other people can visit diff file by url `http://your_ip:5140/dompare-xxxxxx.html`.\n\n### Exclude binary folders\n\nYou can add `--exclude dir1 dir2` to ignore certain directories (e.g., temporal folders, folders with binary files):\n\n```bash\ndompare dir1 dir2 --exclude build out\n```\n\n### Verbose mode\n\nIf you need more detailed information, use `--verbose` option.\n\n```bash\ndompare folder-a folder-b --verbose\n[DEBUG] [2019-10-31 15:35:37] [dompare] Processing dir folder-a/doc\n[DEBUG] [2019-10-31 15:35:37] [dompare] Compare folder-a/doc/index.md and folder-b/doc/index.md\n[DEBUG] [2019-10-31 15:35:37] [dompare] Compare folder-a/README.md and folder-b/README.md\n[INFO] [2019-10-31 15:35:37] [dompare] Compare finished. Please visit http://localhost:5140/dompare-paepy47m.html to see diff file (Press Ctrl-C to stop)\n[DEBUG] [2019-10-31 15:35:37] [dompare] Run command: cd /tmp \u0026\u0026 python3 -m http.server --bind localhost 5140\nServing HTTP on 127.0.0.1 port 5140 ...\n```\n\nFor all options, run `dompare -h`.\n\n```text\ndompare -h\nusage: dompare [-h] [--host HOST] [--port PORT] [--verbose]\n               [--exclude EXCLUDE [EXCLUDE ...]]\n               dir1 dir2\n\npositional arguments:\n  dir1                  Path to the first directory\n  dir2                  Path to the second directory\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --host HOST           host to bind\n  --port PORT           port to listen\n  --verbose             Show detailed information\n  --exclude EXCLUDE [EXCLUDE ...]\n                        Ignore listed directories when diff\n```\n\n## TODO\n\nThere are some ideas I want to do in the future:\n\n1. [x] Windows support (tested on Windows 8.1, Python 3.7.2)\n2. [ ] More pretty UI to show diff, like font size, scroll bar removing  \n\n## Contributing\n\nAny contribution is welcomed. If you find a bug or have any new features, please create an issue or a pull request.\n\n## License\n\n[MIT](LICENSE) © Yunfeng Wang\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvra%2Fdompare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvra%2Fdompare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvra%2Fdompare/lists"}