Meta Package Manager

Last release Python versions Downloads Unittests status Documentation status DOI

What is Meta Package Manager?


Quick startยถ

Thanks to uv, you can run mpm on any platform in one command, without installation or venv:

$ uvx meta-package-manager

Featuresยถ

Supported package managersยถ

One CLI to rule them all:

        ---
config:
  sankey:
    height: 400
    showValues: false
    width: 800

---
sankey-beta

Meta Package Manager,antidote,1
Meta Package Manager,antigen,1
Meta Package Manager,apk,1
Meta Package Manager,apm,1
Meta Package Manager,apt,1
Meta Package Manager,apt-cyg,1
Meta Package Manager,apt-mint,1
Meta Package Manager,asdf,1
Meta Package Manager,brew,1
Meta Package Manager,cargo,1
Meta Package Manager,cask,1
Meta Package Manager,cave,1
Meta Package Manager,choco,1
Meta Package Manager,chromebrew,1
Meta Package Manager,composer,1
Meta Package Manager,conda,1
Meta Package Manager,cpan,1
Meta Package Manager,deb-get,1
Meta Package Manager,dkp-pacman,1
Meta Package Manager,dnf,1
Meta Package Manager,dnf5,1
Meta Package Manager,emerge,1
Meta Package Manager,eopkg,1
Meta Package Manager,fink,1
Meta Package Manager,fisher,1
Meta Package Manager,flatpak,1
Meta Package Manager,fwupd,1
Meta Package Manager,gem,1
Meta Package Manager,gh-ext,1
Meta Package Manager,guix,1
Meta Package Manager,krew,1
Meta Package Manager,lazy,1
Meta Package Manager,macports,1
Meta Package Manager,mas,1
Meta Package Manager,mise,1
Meta Package Manager,nix,1
Meta Package Manager,npm,1
Meta Package Manager,oh-my-fish,1
Meta Package Manager,opam,1
Meta Package Manager,opkg,1
Meta Package Manager,pacaur,1
Meta Package Manager,pacman,1
Meta Package Manager,pacstall,1
Meta Package Manager,paru,1
Meta Package Manager,pikaur,1
Meta Package Manager,pip,1
Meta Package Manager,pipx,1
Meta Package Manager,pkcon,1
Meta Package Manager,pkg,1
Meta Package Manager,pkg-tools,1
Meta Package Manager,pkgin,1
Meta Package Manager,pnpm,1
Meta Package Manager,ports,1
Meta Package Manager,pwsh-gallery,1
Meta Package Manager,scoop,1
Meta Package Manager,sdkman,1
Meta Package Manager,sfsu,1
Meta Package Manager,sheldon,1
Meta Package Manager,slapt-get,1
Meta Package Manager,snap,1
Meta Package Manager,soar,1
Meta Package Manager,sorcery,1
Meta Package Manager,steamcmd,1
Meta Package Manager,stew,1
Meta Package Manager,sun-tools,1
Meta Package Manager,swupd,1
Meta Package Manager,tazpkg,1
Meta Package Manager,tlmgr,1
Meta Package Manager,topgrade,1
Meta Package Manager,trizen,1
Meta Package Manager,urpmi,1
Meta Package Manager,uv,1
Meta Package Manager,uvx,1
Meta Package Manager,vim-pack,1
Meta Package Manager,volta,1
Meta Package Manager,vscode,1
Meta Package Manager,vscodium,1
Meta Package Manager,winget,1
Meta Package Manager,xbps,1
Meta Package Manager,yarn,1
Meta Package Manager,yarn-berry,1
Meta Package Manager,yay,1
Meta Package Manager,yum,1
Meta Package Manager,zerobrew,1
Meta Package Manager,zim,1
Meta Package Manager,zinit,1
Meta Package Manager,zplug,1
Meta Package Manager,zypper,1
    

Metadata and operationsยถ

Package manager

Version

Cooldown

Platforms

installed

outdated

orphans

search

install

upgrade

upgrade_all

remove

sync

cleanup

doctor

antidote

>= 2.2

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

antigen

>= 2

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

apk

>= 2.10

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

apm โš ๏ธ

>= 1

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

apt

>= 1

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

apt-cyg โš ๏ธ

โœ“

โœ“

โœ“

โœ“

โœ“

apt-mint

>= 1

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

asdf

>= 0.16

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

brew

>= 6

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

cargo

>= 1

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

cask

>= 6

๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

cave

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

choco

>= 2

๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

chromebrew

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

composer

>= 1.4

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

conda

>= 4.6

๐Ÿง ๐ŸŽ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

cpan

>= 1.64

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

deb-get

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

dkp-pacman

>= 6

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

dnf

>= 4

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

dnf5

>= 5

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

emerge

>= 3

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

eopkg

>= 3.2

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

fink

๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

fisher

>= 4

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

flatpak

>= 1.2

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

fwupd

>= 1.9.5

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

gem

>= 2.5

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

gh-ext

>= 2

๐Ÿง ๐ŸŽ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

guix

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

krew

>= 0.4

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

lazy

>= 11

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

macports

>= 2

๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

mas

>= 7

๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

mise

>= 2025.5.10

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

nix

>= 2

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

npm

>= 11.10

โœ“

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

oh-my-fish

>= 6

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

opam

>= 2

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

opkg

>= 0.2

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pacaur โš ๏ธ

>= 4

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pacman

>= 5

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pacstall

>= 6

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

paru

>= 1.9.3

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pikaur

>= 1

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pip

>= 26.1

โœ“

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pipx

>= 1

โœ“

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pkcon

>= 0.7

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pkg

>= 1.11

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pkg-tools

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pkgin

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pnpm

>= 11

โœ“

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

ports

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

pwsh-gallery

>= 7.4

๐Ÿง ๐ŸŽ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

scoop

>= 0.2.4

๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

sdkman

>= 5

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

sfsu

>= 1.16

๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

sheldon

>= 0.6

๐Ÿง ๐ŸŽ

โœ“

โœ“

slapt-get

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

snap

>= 2

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

soar

>= 0.12

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

sorcery

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

steamcmd

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

stew

>= 0.3

๐Ÿง ๐ŸŽ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

sun-tools

โœ“

โœ“

swupd โš ๏ธ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

tazpkg

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

tlmgr

>= 2018

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

topgrade

>= 17

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ ๐ŸชŸ

โœ“

trizen

>= 1

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

urpmi

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

uv

>= 0.5

โœ“

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

uvx

>= 0.10.10

โœ“

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

vim-pack

>= 0.12

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

volta โš ๏ธ

>= 1.0.2

๐Ÿง ๐ŸŽ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

vscode

>= 1.60

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

vscodium

>= 1.60

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

winget

>= 1.28.190

๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

xbps

>= 0.59

๐Ÿง

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

yarn

>= 1.20, < 2

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

yarn-berry

>= 2

๐Ÿ…ฑ๏ธ ๐Ÿง ๐ŸŽ โจ‚ ๐ŸชŸ

โœ“

โœ“

yay

>= 11

โœ“

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

yum

>= 4

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

zerobrew

>= 0.3

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

zim

>= 1

๐Ÿง ๐ŸŽ

โœ“

โœ“

zinit

>= 3.10

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

โœ“

โœ“

zplug

>= 2

๐Ÿง ๐ŸŽ

โœ“

โœ“

โœ“

zypper

>= 1.14

๐Ÿ…ฑ๏ธ ๐Ÿง โจ‚

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

โœ“

Platforms: ๐Ÿ…ฑ๏ธ BSD[1]ย ยท ๐Ÿง Linux[2]ย ยท ๐ŸŽ macOSย ยท โจ‚ Unix[3]ย ยท ๐ŸชŸ Windows

Note

If your favorite manager is missing or does not support an operation, you can influence its implementation: open a ticket to document its output or read the contribution guide and submit a pull request.

You can help if you purchase business support ๐Ÿค or sponsor the project ๐Ÿซถ.

Installationยถ

All installation methods are available in the documentation. Below are the most popular ones:

macOSยถ

mpm is part of the official Homebrew default tap, so you can install it with:

$ brew install meta-package-manager

It is also available on MacPorts:

$ sudo port install meta-package-manager

Windowsยถ

mpm is available in the main repository of Scoop, so you just need to:

> scoop install main/meta-package-manager

Executablesยถ

Standalone binaries of mpm latest version are available as direct downloads for several platforms and architectures:

No need to install Python or uv. Useful for CI/CD pipelines running on minimal images, or old platforms where dependency management is painful.

Quickstartยถ

List installed packagesยถ

List all packages installed on current system:

$ mpm installed
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Package ID                                   โ”‚ Name    โ”‚ Manager  โ”‚ Installed version                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ curl                                         โ”‚         โ”‚ brew     โ”‚ 8.21.0                                   โ”‚
โ”‚ git                                          โ”‚         โ”‚ brew     โ”‚ 2.55.0                                   โ”‚
โ”‚ aerial                                       โ”‚         โ”‚ cask     โ”‚ 3.6.3                                    โ”‚
โ”‚ amethyst                                     โ”‚         โ”‚ cask     โ”‚ 0.24.3                                   โ”‚
โ”‚ bigdecimal                                   โ”‚         โ”‚ gem      โ”‚ 3.1.4                                    โ”‚
โ”‚ bundler                                      โ”‚         โ”‚ gem      โ”‚ 2.4.22                                   โ”‚
โ”‚ 361285480                                    โ”‚ Keynote โ”‚ mas      โ”‚ 15.3.1                                   โ”‚
โ”‚ 408981434                                    โ”‚ iMovie  โ”‚ mas      โ”‚ 10.4.4                                   โ”‚
โ”‚ @mermaid-js/mermaid-cli                      โ”‚         โ”‚ npm      โ”‚ 11.12.0                                  โ”‚
โ”‚ npm                                          โ”‚         โ”‚ npm      โ”‚ 11.19.0                                  โ”‚
โ”‚ cyclonedx-python-lib                         โ”‚         โ”‚ uv       โ”‚ 11.11.0                                  โ”‚
โ”‚ packageurl-python                            โ”‚         โ”‚ uv       โ”‚ 0.17.6                                   โ”‚
โ”‚ https://github.com/nvim-lualine/lualine.nvim โ”‚         โ”‚ vim-pack โ”‚ 221ce6b2d999187044529f49da6554a92f740a96 โ”‚
โ”‚ charliermarsh.ruff                           โ”‚         โ”‚ vscode   โ”‚ 2026.70.0                                โ”‚
โ”‚ ms-python.python                             โ”‚         โ”‚ vscode   โ”‚ 2026.4.0                                 โ”‚
โ”‚ zsh-users/zsh-autosuggestions                โ”‚         โ”‚ zinit    โ”‚ ?                                        โ”‚
โ”‚ zsh-users/zsh-completions                    โ”‚         โ”‚ zinit    โ”‚ ?                                        โ”‚
โ”‚ (...)                                        โ”‚         โ”‚          โ”‚                                          โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
483 packages total (brew: 246, uv: 75, gem: 62, cask: 52, vscode: 16, vim-pack: 9, zinit: 9, mas: 7, npm: 6, cargo: 1, gh-ext: 0, pnpm: 0, uvx: 0, yarn: 0).

Narrow the listing to packages whose ID or name matches a query by passing it as an argument. The match is fuzzy by default (case-insensitive and tokenized); add --exact to require a verbatim match on the package ID or name:

$ mpm installed sphinx
$ mpm installed --exact Sphinx

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).

The same query argument restricts the listing to outdated packages whose ID or name matches, again fuzzy by default and exact with --exact:

$ mpm outdated git

Upgrade outdated packagesยถ

A recent study shows that 70% of vulnerabilities lie in outdated libraries, so keeping every piece of software up to date is one of the key habits of security professionals. mpm upgrades all packages from all managers with a one-liner:

$ mpm upgrade --all
Updating all outdated packages from brew...
==> Upgrading 4 outdated packages:
gnu-getopt 2.35.1 -> 2.35.2
rclone 1.51.0 -> 1.52.0
fd 8.1.0 -> 8.1.1
youtube-dl 2020.05.08 -> 2020.05.29
(...)
Updating all outdated packages from cask...
==> Upgrading 4 outdated packages:
balenaetcher 1.5.89 -> 1.5.94, libreoffice 6.4.3 -> 6.4.4
(...)
Updating all outdated packages from gem...
Updating openssl
(...)
Updating all outdated packages from npm...
+ npm@6.14.5
(...)
Updating all outdated packages from pip...
Successfully installed dephell-argparse-0.1.3
Successfully installed dephell-pythons-0.1.15

This is the primary use case of mpm, and the main reason I built it.

Upgrade with a supply-chain cooldownยถ

There is a counter-argument to the advice above. Chasing the newest release the moment it ships is exactly how supply-chain attacks reach you: a compromised version is usually detected and pulled within days of publication, but an immediate upgrade installs it before that happens. Blindly staying on the bleeding edge trades one risk (outdated, vulnerable libraries) for another (freshly poisoned releases).

mpm reconciles the two with a release-age cooldown, refusing any version published more recently than a threshold:

$ mpm --cooldown "7 days" upgrade --all

You still pick up older security fixes promptly, while sitting out the risky first days of a brand-new release. See the cooldown guide for the full mechanism and which managers enforce it natively.

List managersยถ

If you wonder why your package manager doesnโ€™t seem to be identified, you can list all those recognized by mpm on the current platform:

$ mpm managers
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Manager ID   โ”‚ Name                  โ”‚ Supported โ”‚ CLI                                                                    โ”‚ Executable โ”‚ Version             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ asdf         โ”‚ asdf                  โ”‚ โœ“         โ”‚ โœ˜ asdf not found                                                       โ”‚            โ”‚                     โ”‚
โ”‚ brew         โ”‚ Homebrew Formulae     โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/brew                                               โ”‚ โœ“          โ”‚ โœ“ 6.0.16-2-g007333f โ”‚
โ”‚ cargo        โ”‚ Rust cargo            โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/cargo                                              โ”‚ โœ“          โ”‚ โœ“ 1.97.1            โ”‚
โ”‚ cask         โ”‚ Homebrew Cask         โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/brew                                               โ”‚ โœ“          โ”‚ โœ“ 6.0.16-2-g007333f โ”‚
โ”‚ composer     โ”‚ PHP Composer          โ”‚ โœ“         โ”‚ โœ˜ composer not found                                                   โ”‚            โ”‚                     โ”‚
โ”‚ conda        โ”‚ Conda                 โ”‚ โœ“         โ”‚ โœ˜ conda not found                                                      โ”‚            โ”‚                     โ”‚
โ”‚ cpan         โ”‚ Perl CPAN             โ”‚ โœ“         โ”‚ โœ“ /usr/bin/cpan                                                        โ”‚ โœ“          โ”‚ โœ“ 2.28              โ”‚
โ”‚ fink         โ”‚ Fink                  โ”‚ โœ“         โ”‚ โœ˜ fink not found                                                       โ”‚            โ”‚                     โ”‚
โ”‚ gem          โ”‚ RubyGems              โ”‚ โœ“         โ”‚ โœ“ /usr/bin/gem                                                         โ”‚ โœ“          โ”‚ โœ“ 3.4.5             โ”‚
โ”‚ gh-ext       โ”‚ GitHub CLI extensions โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/gh                                                 โ”‚ โœ“          โ”‚ โœ“ 2.97.0            โ”‚
โ”‚ macports     โ”‚ MacPorts              โ”‚ โœ“         โ”‚ โœ˜ port not found                                                       โ”‚            โ”‚                     โ”‚
โ”‚ mas          โ”‚ Mac App Store         โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/mas                                                โ”‚ โœ“          โ”‚ โœ“ 7.0.0             โ”‚
โ”‚ mise         โ”‚ mise                  โ”‚ โœ“         โ”‚ โœ˜ mise not found                                                       โ”‚            โ”‚                     โ”‚
โ”‚ nix          โ”‚ Nix                   โ”‚ โœ“         โ”‚ โœ˜ nix-env not found                                                    โ”‚            โ”‚                     โ”‚
โ”‚ npm          โ”‚ Node npm              โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/npm                                                โ”‚ โœ“          โ”‚ โœ“ 11.19.0           โ”‚
โ”‚ pip          โ”‚ Python pip            โ”‚ โœ“         โ”‚ โœ“ /Users/kde/code/meta-package-manager/.venv/bin/python3               โ”‚ โœ“          โ”‚ โœ˜                   โ”‚
โ”‚ pipx         โ”‚ Python pipx           โ”‚ โœ“         โ”‚ โœ˜ pipx not found                                                       โ”‚            โ”‚                     โ”‚
โ”‚ pnpm         โ”‚ Node pnpm             โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/pnpm                                               โ”‚ โœ“          โ”‚ โœ“ 11.20.0           โ”‚
โ”‚ pwsh-gallery โ”‚ PowerShell Gallery    โ”‚ โœ“         โ”‚ โœ˜ pwsh not found                                                       โ”‚            โ”‚                     โ”‚
โ”‚ sdkman       โ”‚ SDKMAN                โ”‚ โœ“         โ”‚ โœ˜ sdkman-init.sh not found                                             โ”‚            โ”‚                     โ”‚
โ”‚ steamcmd     โ”‚ Valve SteamCMD        โ”‚ โœ“         โ”‚ โœ˜ steamcmd not found                                                   โ”‚            โ”‚                     โ”‚
โ”‚ stew         โ”‚ stew                  โ”‚ โœ“         โ”‚ โœ˜ stew not found                                                       โ”‚            โ”‚                     โ”‚
โ”‚ tlmgr        โ”‚ TeX Live Manager      โ”‚ โœ“         โ”‚ โœ˜ tlmgr not found                                                      โ”‚            โ”‚                     โ”‚
โ”‚ topgrade     โ”‚ Topgrade              โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/topgrade                                           โ”‚ โœ“          โ”‚ โœ“ 17.9.0            โ”‚
โ”‚ uv           โ”‚ Python uv             โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/uv                                                 โ”‚ โœ“          โ”‚ โœ“ 0.12.3            โ”‚
โ”‚ uvx          โ”‚ Python uvx            โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/uv                                                 โ”‚ โœ“          โ”‚ โœ“ 0.12.3            โ”‚
โ”‚ vim-pack     โ”‚ Neovim vim-pack       โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/nvim                                               โ”‚ โœ“          โ”‚ โœ“ 0.12.4            โ”‚
โ”‚ vscode       โ”‚ Visual Studio Code    โ”‚ โœ“         โ”‚ โœ“ /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code โ”‚ โœ“          โ”‚ โœ“ 1.132.0           โ”‚
โ”‚ vscodium     โ”‚ VSCodium              โ”‚ โœ“         โ”‚ โœ˜ codium not found                                                     โ”‚            โ”‚                     โ”‚
โ”‚ yarn         โ”‚ Yarn Classic          โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/yarn                                               โ”‚ โœ“          โ”‚ โœ“ 1.22.22           โ”‚
โ”‚ yarn-berry   โ”‚ Yarn Berry            โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/yarn                                               โ”‚ โœ“          โ”‚ โœ˜ 1.22.22 >=2.0.0   โ”‚
โ”‚ zerobrew     โ”‚ zerobrew              โ”‚ โœ“         โ”‚ โœ˜ zb not found                                                         โ”‚            โ”‚                     โ”‚
โ”‚ zinit        โ”‚ Zinit                 โ”‚ โœ“         โ”‚ โœ“ /opt/homebrew/bin/zsh                                                โ”‚ โœ“          โ”‚ โœ“ 3.15.0            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Unmaintained managers sit out of this default selection, and managers tied to other platforms are hidden: pass --all-managers to widen the table to every manager mpm knows.

If your favorite manager is not supported yet, you can help! See the contribution guide. A handful of tools are deliberately left out, each with its rationale: they are catalogued in unsupported managers.

Used inยถ

Check these projects to get real-life examples of mpm usage:

  • GitHub stars Dotfiles - macOS dotfiles for Python developers, using mpm to manage system packages.

Feel free to send a PR to add your project in this list if you are relying on mpm in any way.

Usageยถ

Other subcommands and options are documented in: