Skip to main content

๐ŸŽ a wrapper around all package managers

Project description

Meta Package Manager

Last release Python versions Unittests status Documentation status Coverage status

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

Package manager Min. version macOS Linux Windows installed outdated search install upgrade 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.21.0 ๐ŸŽ ๐Ÿง ๐ŸชŸ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
yay 11.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
yum 4.0.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
zypper 1.14.0 ๐Ÿง โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“

Quickstart

  1. Install mpm with pip:

    $ pip 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        โ”‚            โ”‚              โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

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.4.0.tar.gz (86.8 kB view details)

Uploaded Source

Built Distribution

meta_package_manager-5.4.0-py3-none-any.whl (134.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for meta-package-manager-5.4.0.tar.gz
Algorithm Hash digest
SHA256 62949197e4446d54b3d4c2ed1773f324679194b7c1f07980bf8e05667c25b25e
MD5 ade5af6d708a36a045a53db685359ac5
BLAKE2b-256 0477585c779017578002a8b1c4730fabffb694f2e4afecc4e3629d2ee19d359a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for meta_package_manager-5.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1868c58b3cea4e489bb7a9579a9707592f510a5094d54d3912dd307cc827c31b
MD5 6e0c19a88125fbedd1a9bc1205e4a0f5
BLAKE2b-256 dfe1a1c3bd2bfedff7e370840e540d5103cfcf7e5f2113a15070ca2182bcd61a

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