Skip to main content

An interactive TUI browser for Homebrew packages

Project description

Brewse

An interactive TUI (Terminal User Interface) browser for Homebrew packages. Brewse provides a fast, user-friendly way to search, view, and install or uninstall Homebrew packages.

Installation

Using Homebrew (recommended)

brew install jonasjancarik/tap/brewse

The Homebrew formula warms Brewse's package cache during installation. To keep the cache warm automatically, enable the optional daily refresh service:

brew services start brewse

brew install does not start the background service by itself; use brew services start brewse only if you want the daily refresh.

Usage

Launch Brewse in one of two ways:

  1. Interactive search mode:
brewse
  1. Direct search mode:
brewse <search-term>

Command-line Options

brewse --help            # Show all available options
brewse --version         # Show version number
brewse --refresh         # Force refresh of cached package data
brewse --prefetch        # Download package data into the cache and exit
brewse --clear-cache     # Clear all cached data and exit

Cache

Brewse caches package data in ~/.cache/brewse/ to improve performance. Cache entries expire after 24 hours.

brewse --prefetch refreshes the same cache without starting the TUI. This is intended for Homebrew's install hook and optional brew services daily refresh.

Alternative Installation Methods

Using pip

pip install brewse

Using pipx or uvx

Run in an isolated environment with pipx:

pipx install brewse

Or run instantly without installation using uvx:

uvx brewse

Note: uvx requires uv to be installed first:

brew install uv

Development & Releases

Release Process

Brewse uses automated releases with GitHub Actions:

  1. Update version in pyproject.toml and src/brewse/__init__.py
  2. Build and publish to PyPI:
    uv build
    uv publish
    
  3. Create a GitHub release:
    gh release create v0.4.0 --generate-notes
    

The GitHub Action will automatically:

  • Download the tarball from PyPI
  • Calculate the SHA256 hash
  • Update the Homebrew tap formula
  • Push changes to the homebrew-tap repository

See .github/AUTOMATION_SETUP.md for setup details. (Useful if you want to fork this repo, obviously you will need to change the GitHub username.)

Manual Tap Update

If needed, you can manually update the Homebrew tap:

cd ~/homebrew-tap
./update-formula.sh 0.4.0

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brewse-0.4.0.tar.gz (271.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brewse-0.4.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file brewse-0.4.0.tar.gz.

File metadata

  • Download URL: brewse-0.4.0.tar.gz
  • Upload date:
  • Size: 271.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for brewse-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f2b80d837d353193ac31b4b6facf755238575f2290ac8cbc869517508922054e
MD5 2ce7d8f595cbfccf50ae963dc0d47e30
BLAKE2b-256 301f48df9f1fd18b9eee194cb26e8a030c7f59bce9d8c92ceadf492741b0dc69

See more details on using hashes here.

File details

Details for the file brewse-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: brewse-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for brewse-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c7c965549cb3551d760d9f7428fb3cdafd518ffe0158437239b4061d933fa71
MD5 4f18be5d0677229c9207ae4b39f4da3e
BLAKE2b-256 ed50291678edde7844317a656a45e2c5fdf17a57d9049d316d58e47dfff446a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page