Skip to main content

๐ŸŽ a wrapper around all package managers

Project description

Meta Package Manager

Last release Python versions Type checked with mypy Unittests status Coverage status Documentation status DOI

What is Meta Package Manager?


Features

  • Inventory and list all package managers available on the system.
  • Supports macOS, Linux and Windows.
  • List installed packages.
  • Search for packages.
  • Install a package.
  • Remove a package.
  • List outdated packages.
  • Sync local package infos.
  • Upgrade all outdated packages.
  • Backup list of installed packages to TOML file.
  • Restore/install list of packages from TOML files.
  • Pin-point commands to a subset of package managers (include/exclude selectors).
  • Export results in JSON or user-friendly tables.
  • Shell auto-completion for Bash, Zsh and Fish.
  • Provides a Xbar/SwiftBar plugin for friendly macOS integration.
  • Because mpm try to wrap all other package managers, it became another pathological case of XKCD #927: Standards

Supported package managers and operations

Package manager Min. version Linux macOS Windows installed outdated search install upgrade upgrade_all remove sync cleanup
apm 1.0.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
apt 1.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
apt-mint 1.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
brew 2.7.0 ๐Ÿง ๐ŸŽ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
cargo 1.0.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“
cask 2.7.0 ๐ŸŽ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
choco 0.10.4 ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
composer 1.4.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
dnf 4.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
emerge 3.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
flatpak 1.2.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
gem 2.5.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
mas 1.6.1 ๐ŸŽ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
npm 4.0.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
opkg 0.2.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
pacman 5.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
paru 1.9.3 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
pip 10.0.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
pipx 1.0.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
scoop 0.2.4 ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
snap 2.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
steamcmd None ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“
vscode 1.60.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“
yarn 1.20.0 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
yay 11.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
yum 4.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
zypper 1.14.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“

Quickstart

Easiest way is to install mpm with pipx:

$ pipx install meta-package-manager

Other alternatives installation methods are available in the documentation.

List managers

List all supported package managers and their status on current system (macOS in this case):

$ mpm --all-managers managers
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Package manager    โ”‚ ID       โ”‚ Supported      โ”‚ CLI                       โ”‚ Executable โ”‚ Version      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Atom's apm         โ”‚ apm      โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/apm      โ”‚ โœ“          โ”‚ โœ“ 2.6.2      โ”‚
โ”‚ APT                โ”‚ apt      โ”‚ โœ˜ Linux only   โ”‚ โœ“ /usr/bin/apt            โ”‚ โœ“          โ”‚ โœ˜            โ”‚
โ”‚ Linux Mint's apt   โ”‚ apt-mint โ”‚ โœ˜ Linux only   โ”‚ โœ“ /usr/bin/apt            โ”‚ โœ“          โ”‚ โœ˜            โ”‚
โ”‚ Homebrew Formulae  โ”‚ brew     โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/brew     โ”‚ โœ“          โ”‚ โœ“ 3.2.16     โ”‚
โ”‚ Rust's cargo       โ”‚ cargo    โ”‚ โœ“              โ”‚ โœ“ /opt/homebrew/bin/cargo โ”‚ โœ“          โ”‚ โœ“ 1.59.0     โ”‚
โ”‚ Homebrew Cask      โ”‚ cask     โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/brew     โ”‚ โœ“          โ”‚ โœ“ 3.2.16     โ”‚
โ”‚ Chocolatey         โ”‚ choco    โ”‚ โœ˜ Windows only โ”‚ โœ˜ choco not found         โ”‚            โ”‚              โ”‚
โ”‚ PHP's Composer     โ”‚ composer โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/composer โ”‚ โœ“          โ”‚ โœ“ 2.1.8      โ”‚
โ”‚ DNF                โ”‚ dnf      โ”‚ โœ˜ Linux only   โ”‚ โœ˜ dnf not found           โ”‚            โ”‚              โ”‚
โ”‚ Emerge             โ”‚ emerge   โ”‚ โœ˜ Linux only   โ”‚ โœ˜ emerge not found        โ”‚            โ”‚              โ”‚
โ”‚ Flatpak            โ”‚ flatpak  โ”‚ โœ˜ Linux only   โ”‚ โœ˜ flatpak not found       โ”‚            โ”‚              โ”‚
โ”‚ Ruby Gems          โ”‚ gem      โ”‚ โœ“              โ”‚ โœ“ /usr/bin/gem            โ”‚ โœ“          โ”‚ โœ“ 3.0.3      โ”‚
โ”‚ Mac AppStore       โ”‚ mas      โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/mas      โ”‚ โœ“          โ”‚ โœ“ 1.8.3      โ”‚
โ”‚ Node's npm         โ”‚ npm      โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/npm      โ”‚ โœ“          โ”‚ โœ“ 7.24.0     โ”‚
โ”‚ OPKG               โ”‚ opkg     โ”‚ โœ˜ Linux only   โ”‚ โœ˜ opkg not found          โ”‚            โ”‚              โ”‚
โ”‚ Pacman             โ”‚ pacman   โ”‚ โœ˜ Linux only   โ”‚ โœ˜ pacman not found        โ”‚            โ”‚              โ”‚
โ”‚ Pip                โ”‚ pip      โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/python3  โ”‚ โœ“          โ”‚ โœ“ 21.2.4     โ”‚
โ”‚ Pipx               โ”‚ pipx     โ”‚ โœ“              โ”‚ โœ“ /opt/homebrew/bin/pipx  โ”‚ โœ“          โ”‚ โœ“ 1.0.0      โ”‚
โ”‚ Snap               โ”‚ snap     โ”‚ โœ˜ Linux only   โ”‚ โœ˜ snap not found          โ”‚            โ”‚              โ”‚
โ”‚ SteamCMD           โ”‚ steamcmd โ”‚ โœ“              โ”‚ โœ“ /opt/local/bin/steamcmd โ”‚ โœ“          โ”‚ โœ“ 1648077083 โ”‚
โ”‚ Visual Studio Code โ”‚ vscode   โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/code     โ”‚ โœ“          โ”‚ โœ“ 1.61.0     โ”‚
โ”‚ Node's yarn        โ”‚ yarn     โ”‚ โœ“              โ”‚ โœ˜ yarn not found          โ”‚            โ”‚              โ”‚
โ”‚ Yay                โ”‚ yay      โ”‚ โœ˜ Linux only   โ”‚ โœ˜ yay not found           โ”‚            โ”‚              โ”‚
โ”‚ YUM                โ”‚ yum      โ”‚ โœ˜ Linux only   โ”‚ โœ˜ yum not found           โ”‚            โ”‚              โ”‚
โ”‚ Zypper             โ”‚ zypper   โ”‚ โœ˜ Linux only   โ”‚ โœ˜ zypper not found        โ”‚            โ”‚              โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

If your favorite manager is not supported yet, you can help! See the contibution guide.

List installed packages

List all packages installed on current system:

$ mpm installed
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Package name                โ”‚ ID                          โ”‚ Manager โ”‚ Installed version  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ github                      โ”‚ github                      โ”‚ apm     โ”‚ 0.36.9             โ”‚
โ”‚ update-package-dependencies โ”‚ update-package-dependencies โ”‚ apm     โ”‚ 0.13.1             โ”‚
โ”‚ rust                        โ”‚ rust                        โ”‚ brew    โ”‚ 1.55.0             โ”‚
โ”‚ x264                        โ”‚ x264                        โ”‚ brew    โ”‚ r3060              โ”‚
โ”‚ atom                        โ”‚ atom                        โ”‚ cask    โ”‚ 1.58.0             โ”‚
โ”‚ visual-studio-code          โ”‚ visual-studio-code          โ”‚ cask    โ”‚ 1.52.0             โ”‚
โ”‚ nokogiri                    โ”‚ nokogiri                    โ”‚ gem     โ”‚ x86_64-darwin      โ”‚
โ”‚ rake                        โ”‚ rake                        โ”‚ gem     โ”‚ 13.0.3             โ”‚
โ”‚ iMovie                      โ”‚ 408981434                   โ”‚ mas     โ”‚ 10.2.5             โ”‚
โ”‚ Telegram                    โ”‚ 747648890                   โ”‚ mas     โ”‚ 8.1                โ”‚
โ”‚ npm                         โ”‚ npm                         โ”‚ npm     โ”‚ 7.24.0             โ”‚
โ”‚ raven                       โ”‚ raven                       โ”‚ npm     โ”‚ 2.6.4              โ”‚
โ”‚ jupyterlab                  โ”‚ jupyterlab                  โ”‚ pip     โ”‚ 3.1.14             โ”‚
โ”‚ Sphinx                      โ”‚ Sphinx                      โ”‚ pip     โ”‚ 4.2.0              โ”‚
โ”‚ ms-python.python            โ”‚ ms-python.python            โ”‚ vscode  โ”‚ 2021.10.1317843341 โ”‚
โ”‚ ms-toolsai.jupyter          โ”‚ ms-toolsai.jupyter          โ”‚ vscode  โ”‚ 2021.9.1001312534  โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
16 packages total (brew: 2, pip: 2, apm: 2, gem: 2, cask: 2, mas: 2, vscode: 2, npm: 2, composer: 0).

List outdated packages

List all packages installed for which an upgrade is available:

$ mpm outdated
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Package name โ”‚ ID          โ”‚ Manager โ”‚ Installed version โ”‚ Latest version โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ curl         โ”‚ curl        โ”‚ brew    โ”‚ 7.79.1            โ”‚ 7.79.1_1       โ”‚
โ”‚ git          โ”‚ git         โ”‚ brew    โ”‚ 2.33.0            โ”‚ 2.33.0_1       โ”‚
โ”‚ openssl@1.1  โ”‚ openssl@1.1 โ”‚ brew    โ”‚ 1.1.1l            โ”‚ 1.1.1l_1       โ”‚
โ”‚ rake         โ”‚ rake        โ”‚ gem     โ”‚ 13.0.3            โ”‚ 13.0.6         โ”‚
โ”‚ Telegram     โ”‚ 747648890   โ”‚ mas     โ”‚ 8.1               โ”‚ 8.1.3          โ”‚
โ”‚ npm          โ”‚ npm@8.0.0   โ”‚ npm     โ”‚ 7.24.0            โ”‚ 8.0.0          โ”‚
โ”‚ pip          โ”‚ pip         โ”‚ pip     โ”‚ 21.2.4            โ”‚ 21.3           โ”‚
โ”‚ regex        โ”‚ regex       โ”‚ pip     โ”‚ 2021.9.30         โ”‚ 2021.10.8      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
8 packages total (brew: 3, pip: 2, gem: 1, mas: 1, npm: 1, apm: 0, cask: 0, composer: 0).

Usage

More documentation is available in:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meta-package-manager-5.7.0.tar.gz (95.7 kB view details)

Uploaded Source

Built Distribution

meta_package_manager-5.7.0-py3-none-any.whl (147.0 kB view details)

Uploaded Python 3

File details

Details for the file meta-package-manager-5.7.0.tar.gz.

File metadata

  • Download URL: meta-package-manager-5.7.0.tar.gz
  • Upload date:
  • Size: 95.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for meta-package-manager-5.7.0.tar.gz
Algorithm Hash digest
SHA256 1d0fdada8fcbb732ec9ea2a34519d31d56332958be4063b5eda6a770ea0042c7
MD5 e93a2506a33278a69b31e94c4cc7771d
BLAKE2b-256 02239cb38216a8a505d49ea115cf4c92dcb75515c15750158a372607d6ee5b4c

See more details on using hashes here.

File details

Details for the file meta_package_manager-5.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for meta_package_manager-5.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 658fb68b678ae612a47ee12fcf68220240e4cd7092390a772be30ae8975999f3
MD5 be7b72864d9c2672e45094544a278651
BLAKE2b-256 fcd51ead3de2a9d7a6124af9b0bcf9994b7c285cb4d07696ce710fa49cdfbc67

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