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 meta-package-manager 8.0.0

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

Source distribution (sdist)

Source distribution for meta-package-manager 8.0.0
File Size Uploaded
meta_package_manager-8.0.0.tar.gz 4.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for meta-package-manager 8.0.0
File Interpreter ABI Platform
meta_package_manager-8.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.4 MB

Release files / meta_package_manager-8.0.0.tar.gz

Download URL meta_package_manager-8.0.0.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
b606e6fffe69643a715d826dfbdbcfbdd58e2acfbf9679c1e752d4da039f5f0b
BLAKE2b-256 checksum
How to use checksums
79ce1b608ea6ce77d657fd1dc40681cec7dee6deceb5cb83d19be6a0fdd6881e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

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

Download URL meta_package_manager-8.0.0-py3-none-any.whl
Size 827.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71f0b7c6b62060da5e4c9c240a129acfaf5e248474a20a7b4a1d73526d998dea
BLAKE2b-256 checksum
How to use checksums
1c95712949d50d11cb663124f7f2c2def582b06565a68cc9921552cbec967590
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

8.0.2

2 release files

8.0.1

2 release files

This release

8.0.0 This release

2 release files

7.6.1

2 release files

7.6.0

2 release files

7.5.0

2 release files

7.4.1

2 release files

7.4.0

2 release files

7.3.0

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.6.0

2 release files

6.5.1

2 release files

6.5.0

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.21.0

2 release files

5.20.0

2 release files

5.19.0

2 release files

5.16.0

2 release files

5.15.0

2 release files

5.14.2

2 release files

5.14.1

2 release files

5.14.0

2 release files

5.12.0

2 release files

5.11.7

2 release files

5.11.6

2 release files

5.11.5

2 release files

5.11.4

2 release files

5.11.3

2 release files

5.11.2

2 release files

5.11.1

2 release files

5.11.0

2 release files

5.10.2

2 release files

5.10.1

2 release files

5.10.0

2 release files

5.9.0

2 release files

5.8.0

2 release files

5.7.0

2 release files

5.6.2

2 release files

5.6.1

2 release files

5.6.0

2 release files

5.5.1

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.13.1

2 release files

4.13.0

2 release files

4.10.0

2 release files

4.9.9

2 release files

4.9.8

2 release files

4.9.4

2 release files

4.9.3

2 release files

4.9.2

2 release files

4.9.1

2 release files

4.9.0

2 release files

4.8.0

2 release files

4.6.0

2 release files

4.5.0

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.6.0

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.2

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.9.0

2 release files

2.8.0

3 release files

2.7.0

3 release files

2.6.1

3 release files

2.6.0

3 release files

2.5.0

3 release files

2.4.0

3 release files

2.3.0

3 release files

2.2.0

3 release files

2.1.1

3 release files

2.1.0

3 release files

2.0.0

3 release files

1.11.0

3 release files

1.9.0

3 release files

1.8.0

3 release files

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