Skip to main content

A cross-platform TUI that upgrades every package manager on your system

Project description

pkg-upgrade

A beautiful Textual-based TUI that upgrades every macOS package manager you have installed — Homebrew formulas & casks, pip, npm, gem, and macOS system updates — with smart parallel execution, per-manager confirmations, and a detailed dashboard.

Features

  • 🍺 Homebrew formulas + 🍻 casks
  • 🐍 pip3
  • 📦 npm (global)
  • 💎 gem
  • 🍎 softwareupdate
  • Smart parallel execution (brew → cask → pip sequential; npm/gem/system parallel)
  • Per-manager confirmation with preview, or --yes to skip prompts
  • Timestamped log file + native macOS notification on completion
  • --skip / --only / --dry-run / --list

Installation

One-line (recommended)

curl -fsSL https://raw.githubusercontent.com/liskeee/pkg-upgrade/main/install.sh | bash

Pin a specific version:

curl -fsSL https://raw.githubusercontent.com/liskeee/pkg-upgrade/main/install.sh \
    | MAC_UPGRADE_REF=v0.1.0 bash

The installer uses pipx when available and falls back to a self-managed venv at ~/.local/share/pkg-upgrade/. Requires Python 3.12+ and macOS.

Homebrew

brew tap liskeee/pkg-upgrade https://github.com/liskeee/pkg-upgrade
brew install pkg-upgrade

pipx

pipx install git+https://github.com/liskeee/pkg-upgrade

From source

git clone https://github.com/liskeee/pkg-upgrade
cd pkg-upgrade
pipx install .

Uninstall

# installed via pipx (the default path):
pipx uninstall pkg-upgrade

# installed via the venv fallback:
rm -rf ~/.local/share/pkg-upgrade ~/.local/bin/pkg-upgrade

Usage

pkg-upgrade                      # interactive dashboard
pkg-upgrade --yes                # upgrade everything without prompts
pkg-upgrade --only brew,npm      # only specific managers
pkg-upgrade --skip system        # skip macOS system updates
pkg-upgrade --dry-run            # preview only
pkg-upgrade --list               # detect installed managers and exit

License

MIT

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

pkg_upgrade-1.1.0.tar.gz (102.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pkg_upgrade-1.1.0-py3-none-any.whl (38.6 kB view details)

Uploaded Python 3

File details

Details for the file pkg_upgrade-1.1.0.tar.gz.

File metadata

  • Download URL: pkg_upgrade-1.1.0.tar.gz
  • Upload date:
  • Size: 102.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pkg_upgrade-1.1.0.tar.gz
Algorithm Hash digest
SHA256 a3838b9cdb249f2216f3854bd9bf5f9cd88b246fe4bd482a7f49367306157254
MD5 148a90372be3cfbc1b1678c0e9cbf957
BLAKE2b-256 3aaa7cde9e61f7fc95d7e8cecd096b69059de14fcc50f57387e75a50034cca3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkg_upgrade-1.1.0.tar.gz:

Publisher: release.yml on liskeee/pkg-upgrade

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pkg_upgrade-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: pkg_upgrade-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pkg_upgrade-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e228863e67e6fc4c75281399fd732f0f7dc1b060f40808a4b4e922b6056cfdc
MD5 64089335319661f4c4f4874c2b494384
BLAKE2b-256 c97cc0238269d13a12d01f2b7be595b16c65d8a87a668553ed5cc84323bbd434

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkg_upgrade-1.1.0-py3-none-any.whl:

Publisher: release.yml on liskeee/pkg-upgrade

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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