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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file brewup-0.3.1.tar.gz.

File metadata

  • Download URL: brewup-0.3.1.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.8 Linux/6.5.0-1015-azure

File hashes

Hashes for brewup-0.3.1.tar.gz
Algorithm Hash digest
SHA256 849f7f1a6f9c7755fa6014a66a5dd5cae537d75ed508c2231d2769ffc080a2b6
MD5 1299ce4700c71a26523f3c9215f640ba
BLAKE2b-256 0f49b9c53c7ead169693507d1cc627b5c2c46c84412ee30a4374ad6267f165e8

See more details on using hashes here.

File details

Details for the file brewup-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: brewup-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.8 Linux/6.5.0-1015-azure

File hashes

Hashes for brewup-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d7c3fe03b0b36dbad8e7e05783b9d600d328952a73136f728ad7081def4e5b68
MD5 5a5305137725d49eab59839278057216
BLAKE2b-256 3e27de9dff7559fec59b3b432c1e48a0280a8226ba4ef2d36d04bb246491b403

See more details on using hashes here.

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