Profile
Back to NewsBack
GitHub Trending 5 min
Reader Mode
kdeldycke/meta-package-manager: 🎁 snapshot every package on your machine to one file, restore it on a new one

kdeldycke/meta-package-manager: 🎁 snapshot every package on your machine to one file, restore it on a new one

7 hours ago

Meta Package Manager

Last release</a> Python versions</a> Downloads</a> Unittests status</a> Documentation status</a> DOI</a>

What is Meta Package Manager?

Features

Supported package managers

One 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 · cran · 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 · octave · 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 · pmerge · 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.

Installation

All installation methods are available in the documentation.

uv

mpm is distributed on PyPI, so uv installs it on Linux, macOS and Windows alike:

``shell-session $ uv tool install meta-package-manager

To try mpm without installing anything, run uvx meta-package-manager instead.

Homebrew

mpm is part of the official Homebrew default tap, bottled for macOS and Linux, so you can install it with:

shell-session $ brew install meta-package-manager
### MacPorts

mpm is also available on MacPorts:

shell-session $ sudo port install meta-package-manager
### Scoop

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

pwsh-session
scoop install main/meta-package-manager
`

Executables

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

| Platform | arm64 | x86_64 | | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Linux | Download meta-package-manager-linux-arm64.bin | Download meta-package-manager-linux-x64.bin | | macOS | Download meta-package-manager-macos-arm64.bin | Download meta-package-manager-macos-x64.bin | | Windows | Download meta-package-manager-windows-arm64.exe | Download meta-package-manager-windows-x64.exe |

Useful for CI/CD pipelines running on minimal images, or old platforms where dependency management is painful.

Used in

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

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:

Chat with me