Skip to main content

Meta Package Manager

Last release Python versions Downloads Unittests status Documentation status DOI

What is Meta Package Manager?

  • snapshots every package on your machine to one file, and restores it on a new one
  • provides the mpm CLI, a wrapper around all package managers
  • mpm is like yt-dlp, but for package managers instead of videos
  • mpm solves XKCD #1654 - Universal Install Script

Features

Supported package managers

One CLI to rule them all.

mpm runs them concurrently unless they share the same backend.

am · antidote · antigen · apk · apm · 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 · 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 · 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:

$ 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:

$ brew install meta-package-manager

MacPorts

mpm is also available on MacPorts:

$ sudo port install meta-package-manager

Scoop

mpm is available in the main repository of Scoop, so on Windows 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:

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

No need to install Python or uv. 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:

  • 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:

Release files for kapsel-mpm 8.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for kapsel-mpm 8.0.0
File Interpreter ABI Platform
kapsel_mpm-8.0.0-py3-none-any.whl Python 3 none any Details

Release files / kapsel_mpm-8.0.0-py3-none-any.whl

Download URL kapsel_mpm-8.0.0-py3-none-any.whl
Size 827.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5de8fe6841c0791023a25c30d8341f454e8956d5cd0049dc0074d501326d6b07
BLAKE2b-256 checksum
How to use checksums
066dcd24983e45f324d205dc72fbf4ef2e13e08b3242a3ba88a32f8b9bf86168
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

8.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page