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

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

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:

Metadata

Release files for meta-package-manager 8.2.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.2.0
File Size Uploaded Provenance
meta_package_manager-8.2.0.tar.gz 5.1 MB With provenance Details

Built distribution (wheel)

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

Total release size: 5.9 MB

Release files / meta_package_manager-8.2.0.tar.gz

Download URL meta_package_manager-8.2.0.tar.gz
Size 5.1 MB
Tags Source
SHA-256 checksum
How to use checksums
8685fb34eaccc9471047e67adc1d2ddd42b92a5be9df5b9e12f166396b7f72b5
BLAKE2b-256 checksum
How to use checksums
9ed52efe713f05e8999d338f34750abf36b0c22fd669be6eedd72b0ae2b4440b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","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 Oct 25, 2026.

Transparency log

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

Download URL meta_package_manager-8.2.0-py3-none-any.whl
Size 887.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b5cb8036f3f9dee5659de91786572a99ab332be80a82a8484bf86783400c292
BLAKE2b-256 checksum
How to use checksums
677466f247a48fe22e95486ecf9a0e41aed03a643c2067c22e81e38d2d6ce7fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","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 Oct 25, 2026.

Transparency log

Security for meta-package-manager 8.2.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for meta_package_manager-8.2.0.tar.gz

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 Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

8.2.0 This release

2 release files Full provenance

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