Ease common Homebrew commands
Project description
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 autoremove
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
- 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
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 linterspoe test
runs all tests with Pytest
- Run
poetry add {package}
from within the development environment to install a run time dependency and add it topyproject.toml
andpoetry.lock
. - Run
poetry remove {package}
from within the development environment to uninstall a run time dependency and remove it frompyproject.toml
andpoetry.lock
. - Run
poetry update
from within the development environment to upgrade all dependencies to the latest versions allowed bypyproject.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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 849f7f1a6f9c7755fa6014a66a5dd5cae537d75ed508c2231d2769ffc080a2b6 |
|
MD5 | 1299ce4700c71a26523f3c9215f640ba |
|
BLAKE2b-256 | 0f49b9c53c7ead169693507d1cc627b5c2c46c84412ee30a4374ad6267f165e8 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7c3fe03b0b36dbad8e7e05783b9d600d328952a73136f728ad7081def4e5b68 |
|
MD5 | 5a5305137725d49eab59839278057216 |
|
BLAKE2b-256 | 3e27de9dff7559fec59b3b432c1e48a0280a8226ba4ef2d36d04bb246491b403 |