{"id":20504323,"url":"https://github.com/maxim-belkin/tap-updater","last_synced_at":"2026-05-15T13:06:43.926Z","repository":{"id":150284787,"uuid":"193316304","full_name":"maxim-belkin/tap-updater","owner":"maxim-belkin","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-23T19:41:12.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-07T03:39:39.961Z","etag":null,"topics":["brew","homebrew","linuxbrew","python3"],"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/maxim-belkin.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-23T06:56:00.000Z","updated_at":"2022-10-23T17:50:50.000Z","dependencies_parsed_at":"2023-04-21T00:17:26.435Z","dependency_job_id":null,"html_url":"https://github.com/maxim-belkin/tap-updater","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/maxim-belkin/tap-updater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxim-belkin%2Ftap-updater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxim-belkin%2Ftap-updater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxim-belkin%2Ftap-updater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxim-belkin%2Ftap-updater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxim-belkin","download_url":"https://codeload.github.com/maxim-belkin/tap-updater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxim-belkin%2Ftap-updater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278336880,"owners_count":25970401,"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-10-04T02:00:05.491Z","response_time":63,"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":["brew","homebrew","linuxbrew","python3"],"created_at":"2024-11-15T19:37:20.004Z","updated_at":"2025-10-04T16:11:28.798Z","avatar_url":"https://github.com/maxim-belkin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Homebrew Tap Updater\n\n[Tap Updater](https://github.com/maxim-belkin/tap-updater) is a tool\nthat figures out the order in which it is safe to update packages\nin a Homebrew tap.\n\n## How to use\n\nTap Updater can be used to figure out the order in which to update...\n\n### Formulae in a single tap:\n\n  ```sh\n  ./tap-updater.py linuxbrew/xorg\n  ```\n\n### a formula with all of its (outdated) dependencies from the same tap:\n\n  ```sh\n  ./tap-updater.py linuxbrew/xorg/mesa\n  ```\n\n### a formula with all of its (outdated) dependencies from any tap:\n\n  ```sh\n  ./tap-updater.py -a linuxbrew/xorg/mesa\n  ```\n\n### all currently installed formulae:\n\n  ```sh\n  ./tap-updater.py $(brew list)\n  ```\n\n## Additional arguments\n\n\n### `-s` | `--skip`\n  To exclude formulae, use `-s` or `--skip` flag followed by the formulae you'd like to skip.\n  Note, because `--skip` accepts arbitrary number of parameters, specify it \n  AFTER the formulae and taps you'd like to process. Example:\n\n  ```sh\n  ./tap-updater.py linuxbrew/xorg --skip linuxbrew/xorg/mesa linuxbrew/xorg/libva linuxbrew/xorg/libvdpau-va-gl\n  ```\n\n### `-v` | `--verbose`\n\n  Enable verbose output. Mutually exclusive with `-q` | `--quiet`.\n\n### `-q` | `--quiet`\n\n  Silence any output. Mutually exclusive with `-v` | `--verbose`.\n\n### `-d` | `--debug`\n\n  Enable output of additional low-level information useful for debugging issues.\n\n### `-h` | `--help`\n\n  Display help/usage information.\n\n### `--no-summary`\n\n  Don't display summary table at the end of analysis.\n\n### `--log-file`\n\n  Specify name of the log file (Default: `tap_updater.log`). Example:\n\n  ```sh\n  ./tap-updater.py --log-file xorg.log linuxbrew/xorg\n  ```\n\n## Examples\n\n### Process (all) formulae in a tap (`linuxbrew/extra`):\n\n  ```\n  $ ./tap-updater.py linuxbrew/extra\n\n  =====================================================================================\n             Formula           | Current version | New version | Outdated dependencies \n  =====================================================================================\n  linuxbrew/extra/singularity  |      2.6.0      | 3.3.0-rc.1  |                       \n  linuxbrew/extra/strace       |       5.1       |     5.2     |                       \n  =====================================================================================\n\n  Batch 1: linuxbrew/extra/singularity linuxbrew/extra/strace\n\n  Suggested commands for updating formulae in Batch 1:\n\n  brew bump-formula-pr --no-browse --url=https://github.com/singularityware/singularity/releases/download/3.3.0-rc.1/singularity-3.3.0-rc.1.tar.gz linuxbrew/extra/singularity\n  brew bump-formula-pr --no-browse --url=https://github.com/strace/strace/releases/download/v5.2/strace-5.2.tar.xz linuxbrew/extra/strace\n\n      | Please verify that URLs exist before executing the above commands!\n      | Consider adding 'version \"x.y.z\"' to the formula if detected 'new_version' is likely\n      | to cause problems for Homebrew version detection mechanism.\n  ```\n\n### Process formulae in a tap (`linuxbrew/extra`) and _all_ of their dependencies in other taps\nbut skip some formulae (`linuxbrew/extra/singularity`).\n\n  ```\n  $ ./tap-updater.py linuxbrew/extra --all --skip linuxbrew/extra/singularity\n\n  ================================================================================\n          Formula         | Current version | New version | Outdated dependencies\n  ================================================================================\n  linuxbrew/extra/strace  |       5.1       |     5.2     |\n  homebrew/core/nettle    |      3.4.1      |    3.5.1    |\n  homebrew/core/sqlite    |     3.28.0      |   3.29.0    |\n  ================================================================================\n\n  Batch 1: linuxbrew/extra/strace homebrew/core/nettle homebrew/core/sqlite\n\n  Suggested commands for updating formulae in Batch 1:\n\n  brew bump-formula-pr --no-browse --url=https://github.com/strace/strace/releases/download/v5.2/strace-5.2.tar.xz linuxbrew/extra/strace\n  brew bump-formula-pr --no-browse --url=https://ftp.gnu.org/gnu/nettle/nettle-3.5.1.tar.gz homebrew/core/nettle\n\n      | Please verify that URLs exist before executing the above commands!\n      | Consider adding 'version \"x.y.z\"' to the formula if detected 'new_version' is likely\n      | to cause problems for Homebrew version detection mechanism.\n  ```\n\nTap Updater outputs \"batches\" of formulae in which packages can be updated.\nFormulae in a specific batch can be updated in any order.\nHowever, PRs to update formulae from the next batch should not be created\nuntil all formulae from the current batch have been updated.\n\n**Important:** Create Pull Requests to update formulae in **_Batch 1_**.\n\nThe process of creating PRs to update formulae is (still) semi-automatic:\nyou can use `brew bump-formula-pr --url=... formula-name` suggested by\nTap Updater but make sure to check that suggested URLs exist.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxim-belkin%2Ftap-updater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxim-belkin%2Ftap-updater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxim-belkin%2Ftap-updater/lists"}