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 ๐Ÿง ๐ŸŽ ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
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.6.1.tar.gz (94.1 kB view details)

Uploaded Source

Built Distribution

meta_package_manager-5.6.1-py3-none-any.whl (143.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meta-package-manager-5.6.1.tar.gz
  • Upload date:
  • Size: 94.1 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.6.1.tar.gz
Algorithm Hash digest
SHA256 eed2c2687e452d4f9d8d712ff2fc0ab7f9958f0bddac75a5bb63477ad3a9df9a
MD5 67c88aa0f048bca1d7799c40391ebc06
BLAKE2b-256 8f7649a4272be65cfd71715bb5d0d648d001d09953f4981d0f413a7d1a32035b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for meta_package_manager-5.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b4a3a09854cb3d756ec8a830cfe3cd7863bb21aae21e19e608da4748853233a7
MD5 0b8705da7a0b694c4c22ef8118ebdec7
BLAKE2b-256 d18f9fabf88ca73a1b4cf73e99224a5cfb63b10c2a0eb092dd7ab16dcab0b404

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