{"id":19549063,"url":"https://github.com/dtaivpp/ghripper","last_synced_at":"2026-06-04T23:31:22.697Z","repository":{"id":152450566,"uuid":"431579212","full_name":"dtaivpp/ghripper","owner":"dtaivpp","description":"A tool for finding and replacing text in a swath of github repos. ","archived":false,"fork":false,"pushed_at":"2021-12-10T15:14:03.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-19T23:03:31.593Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dtaivpp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2021-11-24T17:51:28.000Z","updated_at":"2021-12-10T15:14:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"df42d604-f2bf-4c2c-9ab7-e946efbf85db","html_url":"https://github.com/dtaivpp/ghripper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dtaivpp/ghripper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtaivpp%2Fghripper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtaivpp%2Fghripper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtaivpp%2Fghripper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtaivpp%2Fghripper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dtaivpp","download_url":"https://codeload.github.com/dtaivpp/ghripper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtaivpp%2Fghripper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33924832,"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-06-04T02:00:06.755Z","response_time":64,"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-11T03:57:48.369Z","updated_at":"2026-06-04T23:31:22.674Z","avatar_url":"https://github.com/dtaivpp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Ripper\nGH Ripper is a utility for doing mass updates to github repos. It will find and replace text in any number of repositories and can commit them up to a new branch automatically. \n\n## Usage\n\n1. Install with pip `pip install ghripper`\n2. (Optional) you can either export an environment variable named \"GH_TOKEN\" or include it in a local .env file to ensure you can make the most requests. See [\"Creating a personal access token\"](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) for more information on how to do so.\n\n```\nusage: ghripper [-h] [-v] [-c CONFIG] [-r REPOSDIR] [--debug]\n\nSearch and replace text in GitHub repositories\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -v, --version         show program's version number and exit\n  -c CONFIG, --config CONFIG\n                        Config file for what to find and replace\n  -r REPOSDIR, --reposdir REPOSDIR\n                        Where you would like the repos cloned to\n  --debug               Set this if you would like to see verbose logging.\n```\n\nHere is a simple example:\n```\n# Specifying config and where we would like the repos to clone to.\nghripper -c config.yaml -r /Users/dtippett/tmp\n```\n\nHere is an example of an entry in your config file: \n```yaml\ndtaivpp/cloud_haiku:\n  scope: repo, org, user\n  find: \"Testing code long time\" \n  replace_with: \"NO\"\n  branch_name: \"GHRipper_Replacement\"\n  commit_message: \"Testing code long time -\u003e NO\"\n  push: False\n```\n\n## Contributing\n\nFor how to contribute please see [CONTRIBUTING.md](\"CONTRIBUTING.md\").\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtaivpp%2Fghripper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdtaivpp%2Fghripper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtaivpp%2Fghripper/lists"}