Skip to content

Distributing Python CLIs with Homebrew and Scoop: From Curiosity to Templates

My Python CLI tools are already available through uv, but I use Homebrew on macOS and Scoop on Windows, so I wanted to understand how those ecosystems handle distribution. How do you write a formula? What does a manifest look like? And how do updates get automated?

Exploring with agentic workflows

I explored those questions with agentic workflows. I used Claude Code to research and experiment with formula and manifest layouts, CI workflows, and update mechanisms. That work produced two working repositories:

  • homebrew-tap — brew install hasansezertasan/tap/cobo
  • scoop-bucket — scoop bucket add hasansezertasan https://github.com/hasansezertasan/scoop-bucket + scoop install cobo

Turning It Into Templates

Once the process was repeatable, I turned both repositories into templates:

  • tap-template — Formula scaffolding from PyPI, bottle publishing, automated update workflows
  • bucket-template — Binary releases, pipx/uv shim support, Windows CI tests

Start with the template, run add_formula.py or add-manifest, then push your changes. Your users can install the result with brew install or scoop install.