๐ wraps all package managers with an unifying CLI
Project description
What is Meta Package Manager?
- provides the
mpm
CLI, a wrapper around all package managers mpm
is likeyt-dlp
, but for package managers instead of videosmpm
solves XKCD #1654 - Universal Install Script
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).
- Support plain, versionned and purl package specifiers.
- Export output to JSON or print 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 | ๐ง | โ | โ | โ | โ | โ | โ | โ | ||||
pacaur |
4.0.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
โญโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโฌโโโโโโโโโโโโฎ
โ Manager ID โ Name โ Supported โ CLI โ Executable โ Version โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโค
โ apm โ Atom's apm โ โ โ โ apm not found โ โ โ
โ apt โ APT โ โ Linux only โ โ /usr/bin/apt โ โ โ โ โ
โ apt-mint โ Linux Mint's apt โ โ Linux only โ โ /usr/bin/apt โ โ โ โ โ
โ brew โ Homebrew Formulae โ โ โ โ /opt/homebrew/bin/brew โ โ โ โ 3.6.3 โ
โ cargo โ Rust's cargo โ โ โ โ /opt/homebrew/bin/cargo โ โ โ โ 1.64.0 โ
โ cask โ Homebrew Cask โ โ โ โ /opt/homebrew/bin/brew โ โ โ โ 3.6.3 โ
โ choco โ Chocolatey โ โ Windows only โ โ choco not found โ โ โ
โ composer โ PHP's Composer โ โ โ โ /opt/homebrew/bin/composer โ โ โ โ 2.4.2 โ
โ dnf โ DNF โ โ Linux only โ โ dnf not found โ โ โ
โ emerge โ Emerge โ โ Linux only โ โ emerge not found โ โ โ
โ flatpak โ Flatpak โ โ Linux only โ โ flatpak not found โ โ โ
โ gem โ Ruby Gems โ โ โ โ /usr/bin/gem โ โ โ โ 3.0.3.1 โ
โ mas โ Mac AppStore โ โ โ โ /opt/homebrew/bin/mas โ โ โ โ 1.8.6 โ
โ npm โ Node's npm โ โ โ โ /opt/homebrew/bin/npm โ โ โ โ 8.19.2 โ
โ opkg โ OPKG โ โ Linux only โ โ opkg not found โ โ โ
โ pacman โ Pacman โ โ Linux only โ โ pacman not found โ โ โ
โ paru โ Paru โ โ Linux only โ โ paru not found โ โ โ
โ pip โ Pip โ โ โ โ ~/.pyenv/shims/python3 โ โ โ โ 22.2.2 โ
โ pipx โ Pipx โ โ โ โ /opt/homebrew/bin/pipx โ โ โ โ 1.1.0 โ
โ scoop โ Scoop โ โ Windows only โ โ scoop not found โ โ โ
โ snap โ Snap โ โ Linux only โ โ snap not found โ โ โ
โ steamcmd โ Valve Steam โ โ โ โ steamcmd not found โ โ โ
โ vscode โ Visual Studio Code โ โ โ โ /opt/homebrew/bin/code โ โ โ โ 1.71.2 โ
โ yarn โ Node's yarn โ โ โ โ /opt/homebrew/bin/yarn โ โ โ โ 1.22.19 โ
โ 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:
- the detailed help screens
- the
list of use-cases
where youโll find inspiration on how to leverage
mpm
power
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
Built Distribution
File details
Details for the file meta_package_manager-5.9.0.tar.gz
.
File metadata
- Download URL: meta_package_manager-5.9.0.tar.gz
- Upload date:
- Size: 102.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 024da2c8abedba2a1aa1a2de16407156493aee161acb674ee05d1d040937dc8d |
|
MD5 | bc0959446b86f2357f1108dfd71b1b75 |
|
BLAKE2b-256 | e20fdbabd52223f4775e3371eb6ed387b6c5b8c512745b719be36a3baa0f4029 |
File details
Details for the file meta_package_manager-5.9.0-py3-none-any.whl
.
File metadata
- Download URL: meta_package_manager-5.9.0-py3-none-any.whl
- Upload date:
- Size: 156.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0811b2827c0883588afcb3b8c79f8440946b5c61d20cded958c7b1d61ccb9332 |
|
MD5 | 798084ad084e5cfa2018b833f6f092df |
|
BLAKE2b-256 | 55148802636a8c71ed9b9597e2d9f456bd5bf489c3c47490a98b7764e2c1df7f |