Skip to main content

๐Ÿ“ฆ one CLI for 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.
  • 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 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 sync installed search install outdated upgrade cleanup
apm 1.0.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
apt 1.0.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
apt-mint 1.0.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
brew 2.7.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
cask 2.7.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
choco 0.10.4 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
composer 1.4.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
flatpak 1.2.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
gem 2.5.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
mas 1.6.1 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
npm 4.0.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
opkg 0.2.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
pip 10.0.0 โœ“ โœ“ โœ“ โœ“ โœ˜* โœ“ โœ“ โœ“
snap 2.0.0 โœ“ โœ“ โœ“ โœ“ โœ“
vscode 1.60.0 โœ“ โœ“ โœ“ โœ“ โœ“ โœ“ โœ“
yarn 1.21.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 โ”‚
โ”‚ 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  โ”‚
โ”‚ 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          โ”‚            โ”‚          โ”‚
โ”‚ Pip                โ”‚ pip      โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/python3  โ”‚ โœ“          โ”‚ โœ“ 21.2.4 โ”‚
โ”‚ Snap               โ”‚ snap     โ”‚ โœ˜ Linux only   โ”‚ โœ˜ snap not found          โ”‚            โ”‚          โ”‚
โ”‚ Visual Studio Code โ”‚ vscode   โ”‚ โœ“              โ”‚ โœ“ /usr/local/bin/code     โ”‚ โœ“          โ”‚ โœ“ 1.61.0 โ”‚
โ”‚ Node's yarn        โ”‚ yarn     โ”‚ โœ“              โ”‚ โœ˜ yarn 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

This version

4.9.2

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

Uploaded Source

Built Distribution

meta_package_manager-4.9.2-py3-none-any.whl (101.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meta-package-manager-4.9.2.tar.gz
  • Upload date:
  • Size: 63.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for meta-package-manager-4.9.2.tar.gz
Algorithm Hash digest
SHA256 ad1ba37ef10b6315e68c3195fe2884c40c463f4209a4d4561d64467adedaa76a
MD5 a08398206a9baa282e3967663dc88898
BLAKE2b-256 d3ac12d795c65e4b28080efd91a9d72d601d96fd4597f0b79cb7ed0f99473f02

See more details on using hashes here.

File details

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

File metadata

  • Download URL: meta_package_manager-4.9.2-py3-none-any.whl
  • Upload date:
  • Size: 101.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for meta_package_manager-4.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 532e3406876544e9187b68c256793744e48e03eda8fee00c83cbb4b5eeaaf949
MD5 2756f8e26f5394936e139a0ee27fc631
BLAKE2b-256 3f74aecb7874f4cdfeebef1ad0fca8ebb1e4be5b2ce1ab2eb7f150efffc1838c

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