Skip to main content

PyPI version PyPI - Python Version Automated Tests codecov

brewup

A CLI that automates upgrading Homebrew and all installed packages. Brewup runs the following routines in order to keep your system up to date with the latest versions of all installed formulae and casks.

  1. brew update
  2. Upgrades installed packages based on many configuration settings
  3. brew autoremove
  4. brew cleanup

The settings allow for a variety of options including:

  • Excluding specific formulae/casks from being upgraded
  • Running brew upgrade with the --greedy flag
  • Opening casks after upgrading with open -a {cask}
  • Removing specific casks from MacOS quarantine
  • Select which available formulae/casks to upgrade

Installation

It is recommended to use PIPX to install this package.

pipx install brewup

If pipx is not an option, you can install Brewup in your Python user directory.

python -m pip install --user brewup

Note: brewup requires Python >= v3.10.

Usage

Upgrade available formulae/casks:

brewup

Include formulae and casks that are excluded in the configuration file:

brewup --all

Select which formulae/casks to upgrade:

brewup --select

See all available upgrades but don't upgrade anything:

brewup --list

Only formulae/casks that are excluded in the configuration file:

brewup --excluded

Configuration

On first run, an empty configuration file will be created at ~/Library/Application Support/brewup/config.toml. This file can be edited to customize the behavior of brewup.

# Configuration for brewup

# Target location for Applications, mimics --appdir. If empty, uses default
# app_dir = ""

# List of packages to exclude from updates
exclude_updades = []

# Update all casks, even if they auto-update
greedy_casks = false

# Full path to `brew` if not in $PATH
# homebrew_command = ""

# List of casks to open after updating
no_quarantine = []

Contributing

Setup: Once per project

  1. Install Python 3.10 and Poetry
  2. Clone this repository. git clone https://github.com/natelandau/brewup
  3. Install the Poetry environment with poetry install.
  4. Activate your Poetry environment with poetry shell.
  5. Install the pre-commit hooks with pre-commit install --install-hooks.

Developing

  • This project follows the Conventional Commits standard to automate Semantic Versioning and Keep A Changelog with Commitizen.
    • When you're ready to commit changes run cz c
  • Run poe from within the development environment to print a list of Poe the Poet tasks available to run on this project. Common commands:
    • poe lint runs all linters
    • poe test runs all tests with Pytest
  • Run poetry add {package} from within the development environment to install a run time dependency and add it to pyproject.toml and poetry.lock.
  • Run poetry remove {package} from within the development environment to uninstall a run time dependency and remove it from pyproject.toml and poetry.lock.
  • Run poetry update from within the development environment to upgrade all dependencies to the latest versions allowed by pyproject.toml.

Release files for brewup 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for brewup 0.3.1
File Size Uploaded
brewup-0.3.1.tar.gz 27.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for brewup 0.3.1
File Interpreter ABI Platform
brewup-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 55.1 kB

Release files / brewup-0.3.1.tar.gz

Download URL brewup-0.3.1.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
849f7f1a6f9c7755fa6014a66a5dd5cae537d75ed508c2231d2769ffc080a2b6
BLAKE2b-256 checksum
How to use checksums
0f49b9c53c7ead169693507d1cc627b5c2c46c84412ee30a4374ad6267f165e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.11.8 Linux/6.5.0-1015-azure

Release files / brewup-0.3.1-py3-none-any.whl

Download URL brewup-0.3.1-py3-none-any.whl
Size 28.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7c3fe03b0b36dbad8e7e05783b9d600d328952a73136f728ad7081def4e5b68
BLAKE2b-256 checksum
How to use checksums
3e27de9dff7559fec59b3b432c1e48a0280a8226ba4ef2d36d04bb246491b403
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.11.8 Linux/6.5.0-1015-azure

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page