brew install python-ankara-toplulugu/tap/<formula>
Or brew tap python-ankara-toplulugu/tap and then brew install <formula>.
Or, in a brew bundle Brewfile:
tap "python-ankara-toplulugu/tap"
brew "<formula>"This tap uses two complementary workflows to keep formulas up-to-date:
A "pull" model that periodically checks for new versions.
- Runs: Weekly on Mondays at 9:00 UTC, or manually via GitHub Actions
- How it works:
- Lists all formulas in
Formula/ - Runs
brew livecheckon each to check PyPI for newer versions - Updates version/sha256 with
brew bump-formula-pr - Updates Python dependencies with
brew update-python-resources - Creates a single PR with all updates
- Lists all formulas in
A "push" model where package repos notify the tap immediately after publishing.
- Runs: When a package repo sends a
repository_dispatchevent - How it works:
- Receives payload with
formulaname and optionallyversion - Validates the formula exists
- Updates the formula and creates a PR
- Receives payload with
Package repos can trigger immediate formula updates after PyPI publish.
For Humans
Copy and paste this prompt into your AI coding assistant:
Set up automatic Homebrew formula updates for this repository. Follow the instructions at: https://github.com/python-ankara-toplulugu/homebrew-tap#triggering-from-package-repos
- Create a PAT with
reposcope and write access to this repo - Add it as
HOMEBREW_TAP_TOKENsecret in the package repo - Copy the workflow below to your package repo at
.github/workflows/update-homebrew-formula.yml
# Triggers Homebrew formula update after a release is published
name: Update Homebrew Formula
on:
# Trigger after release is published
release:
types: [published]
# Or trigger manually
workflow_dispatch:
jobs:
update-formula:
name: Trigger formula update
runs-on: ubuntu-latest
# Only run if the release workflow (PyPI publish) succeeded
# Uncomment if you want to wait for another workflow
# needs: [publish]
steps:
- name: Trigger homebrew-tap update
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
repository: python-ankara-toplulugu/homebrew-tap
event-type: update-formula
client-payload: |
{
"formula": "${{ github.event.repository.name }}",
"version": "${{ github.event.release.tag_name }}"
}
- name: Summary
run: |
echo "Triggered Homebrew formula update for ${{ github.event.repository.name }}"
echo "Version: ${{ github.event.release.tag_name }}"
echo ""
echo "Check the homebrew-tap repo for the PR:"
echo "https://github.com/python-ankara-toplulugu/homebrew-tap/pulls"For LLM Agents
Prerequisites:
- A GitHub PAT with
reposcope stored asHOMEBREW_TAP_TOKENin the repository secrets
Instructions:
- Create
.github/workflows/update-homebrew-formula.ymlwith this content:
name: Update Homebrew Formula
on:
release:
types: [published]
workflow_dispatch:
jobs:
update-formula:
name: Trigger formula update
runs-on: ubuntu-latest
steps:
- name: Trigger homebrew-tap update
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
repository: python-ankara-toplulugu/homebrew-tap
event-type: update-formula
client-payload: |
{
"formula": "${{ github.event.repository.name }}",
"version": "${{ github.event.release.tag_name }}"
}
- name: Summary
run: |
echo "Triggered Homebrew formula update for ${{ github.event.repository.name }}"
echo "Version: ${{ github.event.release.tag_name }}"
echo ""
echo "Check the homebrew-tap repo for the PR:"
echo "https://github.com/python-ankara-toplulugu/homebrew-tap/pulls"- Verify the file exists and has correct YAML syntax
Important:
formulain the payload should match the repository name (e.g., "ossin" for ossin repo)versionis extracted from the release tag (e.g., "v1.0.0" or "1.0.0")- The workflow triggers on
release: publishedevents
[package repo] [homebrew-tap]
│ │
│ Release published │
▼ │
repository_dispatch ──────────────►│
(formula, version) ▼
update-formula-dispatch.yml
│
▼
Creates PR
brew help, man brew or check Homebrew's documentation.