Skip to main content

Ease common Homebrew commands

Project description

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.

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

brewup-0.3.1.tar.gz (27.0 kB view hashes)

Uploaded Source

Built Distribution

brewup-0.3.1-py3-none-any.whl (28.1 kB view hashes)

Uploaded Python 3

Supported by

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