🎁 snapshot every package on your machine to one file, restore it on a new one
See the codeWhat is Meta Package Manager?
mpm CLI, a wrapper around all package managersmpm is like yt-dlp, but for package managers instead of videosmpm solves XKCD #1654 - Universal Install Scriptmpm dump packages.toml:
mpm restore packages.toml, and get the same set of packages back.mpm and the main reason I built it, since 70% of vulnerabilities lie in outdated libraries. A manager that fails is marked ✘ and named in a closing summary, while the others carry on:
install, remove, upgrade, restore and cleanup --orphans: every package upgraded, downgraded, installed, removed, held back by the cooldown or still outdated, with its versions.mpm tries to wrap all other package managers, it became another pathological case of XKCD #927: StandardsOne CLI to rule them all.
mpm runs them concurrently unless they share the same backend.
am · antidote · antigen · antigravity-cli-plugins · apk · apm · app-manager · apt · apt-cyg · apt-mint · aptitude · asdf · aura · basalt · bin · bob · bpkg · brew · bun · cargo · cask · cave · choco · choosenim · chromebrew · claude-code-plugins · clib · composer · conda · cpan · deb-get · dkp-pacman · dnf · dnf5 · dotnet · elan · emacs · emerge · eopkg · fink · fisher · flatpak · fwupd · gcloud · gem · getnf · gext · gh-ext · ghcup · go · guix · gup · haxelib · hyprpm · ips · jpm · julia · juliaup · krew · lazy · luarocks · lure · macports · mamba · mas · mason · micro · microdnf · micromamba · miktex · mise · nala · nimble · nix · npm · oh-my-fish · ollama · opam · opkg · pacaur · pacman · pacstall · pamac · paru · pear · pearl · pi · pikaur · pip · pipx · pipxu · pixi · pkcon · pkg · pkg-tools · pkgin · pkgit · pkgm · platformio-core · pnpm · ports · protonplus · prt-get · pwsh-gallery · pyenv · raco · roswell · rustup · scoop · sdkman · sfsu · sheldon · shelly · skills · slapt-get · snap · soar · sorcery · spack · steamcmd · stew · sun-tools · swupd · tazpkg · tlmgr · topgrade · trizen · urpmi · uv · uvx · vagrant · vcpkg · vim-pack · volta · vscode · vscodium · whalebrew · winget · xbps · xcodes · yarn · yarn-berry · yay · yazi · yum · zef · zerobrew · zeroinstall · zim · zinit · zplug · zvm · zypper
mpm also reuses topgrade when present on the system to extend its mpm upgrade --all operation to extra runtimes, shell plugins and OS updaters. Other unsupported managers are catalogued in the docs.
All installation methods are available in the documentation.
mpm is distributed on PyPI, so uv installs it on Linux, macOS and Windows alike:
$ uv tool install meta-package-manager
To try mpm without installing anything, run uvx meta-package-manager instead.
mpm is part of the official Homebrew default tap, bottled for macOS and Linux, so you can install it with:
$ brew install meta-package-manager
mpm is also available on MacPorts:
$ sudo port install meta-package-manager
mpm is available in the main repository of Scoop, so on Windows you just need to:
> scoop install main/meta-package-manager
Standalone binaries of mpm latest version are available as direct downloads for several platforms and architectures:
Useful for CI/CD pipelines running on minimal images, or old platforms where dependency management is painful.
Check these projects to get real-life examples of mpm usage:
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.
Other subcommands and options are documented in:
mpm powerOverall
Maintained
Code review
Latest release
Releases this year
1,809 followers · starred Jan 2017
643 followers · starred Dec 2025
67 followers · starred Apr 2023
377 followers · starred May 2026
🎁 snapshot every package on your machine to one file, restore it on a new one
See the codeWhat is Meta Package Manager?
mpm CLI, a wrapper around all package managersmpm is like yt-dlp, but for package managers instead of videosmpm solves XKCD #1654 - Universal Install Scriptmpm dump packages.toml:
mpm restore packages.toml, and get the same set of packages back.mpm and the main reason I built it, since 70% of vulnerabilities lie in outdated libraries. A manager that fails is marked ✘ and named in a closing summary, while the others carry on:
install, remove, upgrade, restore and cleanup --orphans: every package upgraded, downgraded, installed, removed, held back by the cooldown or still outdated, with its versions.mpm tries to wrap all other package managers, it became another pathological case of XKCD #927: StandardsOne CLI to rule them all.
mpm runs them concurrently unless they share the same backend.
am · antidote · antigen · antigravity-cli-plugins · apk · apm · app-manager · apt · apt-cyg · apt-mint · aptitude · asdf · aura · basalt · bin · bob · bpkg · brew · bun · cargo · cask · cave · choco · choosenim · chromebrew · claude-code-plugins · clib · composer · conda · cpan · deb-get · dkp-pacman · dnf · dnf5 · dotnet · elan · emacs · emerge · eopkg · fink · fisher · flatpak · fwupd · gcloud · gem · getnf · gext · gh-ext · ghcup · go · guix · gup · haxelib · hyprpm · ips · jpm · julia · juliaup · krew · lazy · luarocks · lure · macports · mamba · mas · mason · micro · microdnf · micromamba · miktex · mise · nala · nimble · nix · npm · oh-my-fish · ollama · opam · opkg · pacaur · pacman · pacstall · pamac · paru · pear · pearl · pi · pikaur · pip · pipx · pipxu · pixi · pkcon · pkg · pkg-tools · pkgin · pkgit · pkgm · platformio-core · pnpm · ports · protonplus · prt-get · pwsh-gallery · pyenv · raco · roswell · rustup · scoop · sdkman · sfsu · sheldon · shelly · skills · slapt-get · snap · soar · sorcery · spack · steamcmd · stew · sun-tools · swupd · tazpkg · tlmgr · topgrade · trizen · urpmi · uv · uvx · vagrant · vcpkg · vim-pack · volta · vscode · vscodium · whalebrew · winget · xbps · xcodes · yarn · yarn-berry · yay · yazi · yum · zef · zerobrew · zeroinstall · zim · zinit · zplug · zvm · zypper
mpm also reuses topgrade when present on the system to extend its mpm upgrade --all operation to extra runtimes, shell plugins and OS updaters. Other unsupported managers are catalogued in the docs.
All installation methods are available in the documentation.
mpm is distributed on PyPI, so uv installs it on Linux, macOS and Windows alike:
$ uv tool install meta-package-manager
To try mpm without installing anything, run uvx meta-package-manager instead.
mpm is part of the official Homebrew default tap, bottled for macOS and Linux, so you can install it with:
$ brew install meta-package-manager
mpm is also available on MacPorts:
$ sudo port install meta-package-manager
mpm is available in the main repository of Scoop, so on Windows you just need to:
> scoop install main/meta-package-manager
Standalone binaries of mpm latest version are available as direct downloads for several platforms and architectures:
Useful for CI/CD pipelines running on minimal images, or old platforms where dependency management is painful.
Check these projects to get real-life examples of mpm usage:
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.
Other subcommands and options are documented in:
mpm powerOverall
Maintained
Code review
Latest release
Releases this year
1,809 followers · starred Jan 2017
643 followers · starred Dec 2025
67 followers · starred Apr 2023
377 followers · starred May 2026