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.
brew update- Upgrades installed packages based on many configuration settings
brew autoremovebrew cleanup
The settings allow for a variety of options including:
- Excluding specific formulae/casks from being upgraded
- Running
brew upgradewith the--greedyflag - 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
- Install Python 3.10 and Poetry
- Clone this repository.
git clone https://github.com/natelandau/brewup - Install the Poetry environment with
poetry install. - Activate your Poetry environment with
poetry shell. - 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
- When you're ready to commit changes run
- Run
poefrom within the development environment to print a list of Poe the Poet tasks available to run on this project. Common commands:poe lintruns all linterspoe testruns all tests with Pytest
- Run
poetry add {package}from within the development environment to install a run time dependency and add it topyproject.tomlandpoetry.lock. - Run
poetry remove {package}from within the development environment to uninstall a run time dependency and remove it frompyproject.tomlandpoetry.lock. - Run
poetry updatefrom within the development environment to upgrade all dependencies to the latest versions allowed bypyproject.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)
| File | Size | Uploaded | |
|---|---|---|---|
| brewup-0.3.1.tar.gz | 27.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|