{"id":19624790,"url":"https://github.com/drorasaf/duplicatechecker","last_synced_at":"2025-11-21T09:04:44.421Z","repository":{"id":71460197,"uuid":"189852205","full_name":"drorasaf/DuplicateChecker","owner":"drorasaf","description":"Check for infringement/common code across multiple devices","archived":false,"fork":false,"pushed_at":"2019-06-02T14:02:16.000Z","size":1,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-26T19:47:50.327Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drorasaf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-06-02T13:50:20.000Z","updated_at":"2021-12-25T20:35:20.000Z","dependencies_parsed_at":"2023-05-27T13:00:32.282Z","dependency_job_id":null,"html_url":"https://github.com/drorasaf/DuplicateChecker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/drorasaf/DuplicateChecker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorasaf%2FDuplicateChecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorasaf%2FDuplicateChecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorasaf%2FDuplicateChecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorasaf%2FDuplicateChecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drorasaf","download_url":"https://codeload.github.com/drorasaf/DuplicateChecker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorasaf%2FDuplicateChecker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285587839,"owners_count":27197177,"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-11-21T02:00:06.175Z","response_time":61,"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":"2024-11-11T11:39:03.525Z","updated_at":"2025-11-21T09:04:44.404Z","avatar_url":"https://github.com/drorasaf.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# code duplication finder\n\nThis package allows to traverse a list of repositories to find similiarities among the repos\nto avoid copyrights collision or to check the quality of the code.\n\nThe default language it checks is scala, but this can be configured\n\n## Installation\nFirst install pmd:\n\n``` sh\n$ wget https://github.com/pmd/pmd/releases/download/pmd_releases%2F6.15.0/pmd-bin-6.15.0.zip\n$ unzip pmd-bin-6.15.0.zip\n$ alias cpd=\"$HOME/pmd-bin-6.15.0/bin/run.sh cpd\"\n```\nRemember to add the alias to your .bashrc\n\n## Configuration\nRequirements: \n\n- Github access token(default: GITHUB_ACCESS_TOKEN environment variable)\n- text file with a list of repositories to check(default: repos.txt)\n\n## How to Run\n\npython dope.py\n\n### setting specific filename\n\npython dope.py --repo_list bla.txt\n\n### setting specific access token\n\npython dope.py --token deadbeef\n\n### setting specific language\n\npython dope.py --language python\n\nNote: The run will generate a folder named clones and eventually delete it, since the program clones repos, then the assumption is that there is enough harddrive space.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrorasaf%2Fduplicatechecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrorasaf%2Fduplicatechecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrorasaf%2Fduplicatechecker/lists"}