BenchmarkΒΆ
Attempting to unify all package managers is a Sisyphean task.
This did not prevent me or others to try to solve that problem. It is not easy to explain why
but there might be a greater need for such tools out there. Here is a list of some related projects I stumbled into and how they compares to mpm.
FeaturesΒΆ
Feature |
|
|
|
|
|---|---|---|---|---|
Package manager autodetection |
β |
β |
||
Unified CLI and options |
β |
β |
β |
|
Multi-PM execution |
β |
β |
||
Concurrent multi-PM execution |
β |
β |
||
Package manager priority |
β |
|||
Consolidated output |
||||
Configurable output |
||||
Sortable output |
||||
Colored output |
β |
β |
||
Version parsing and diff |
β |
|||
purl support |
β |
|||
JSON export |
β |
|||
CSV export |
||||
Markup export |
||||
Configuration file |
β |
β |
β |
|
Non-interactive |
β |
β |
β |
|
Dry-run |
β |
β |
β |
|
Sudo elevation |
β |
β |
||
Supply-chain cooldown |
||||
Desktop notifications |
β |
|||
Bash auto-completion |
β |
β |
||
Zsh auto-completion |
β |
β |
||
Fish auto-completion |
β |
β |
||
Apply manifest (declarative install) |
β |
|||
Backend-prefixed package IDs |
OperationsΒΆ
Operation |
|
|
|
|
|---|---|---|---|---|
List available managers |
β |
|||
List installed packages |
β |
β |
β |
|
List duplicate packages |
β |
|||
List outdated packages |
β |
β |
β |
|
List orphaned dependencies |
β |
β |
||
Search packages |
β |
β |
β |
|
Locate binaries ( |
β |
β |
||
Install a package |
β |
β |
β |
|
Remove / Uninstall a package |
β |
β |
β |
|
Remove a package with its orphans |
β |
β |
||
Upgrade single package |
β |
β |
β |
|
Upgrade all packages |
β |
β |
β |
β |
Sync |
β |
β |
β |
|
Cleanup: caches |
β |
β |
β |
|
Cleanup: orphans |
β |
β |
||
Backup / Lock / Freeze |
β |
β |
||
Restore |
β |
β |
||
List explicitly installed packages (leaves) |
β |
β |
||
Pin / Unpin version |
β |
|||
Latest filter (newest installable) |
||||
Reshim / rebuild executable index |
||||
Doctor / diagnostics |
β |
β |
||
Import from external tool |
||||
Services management |
β |
mpmβs SBOM export sits in a different category from the package-manager front-ends benchmarked here. It is compared against dedicated SBOM and software-composition-analysis tools (Syft, Trivy, cdxgen, component-detection) in the SBOM documentation.
Package manager supportΒΆ
brew is itself a meta-manager: brew bundle dispatches to other package managers (cask, mas, VSCode extensions, taps, and more) via the Brewfile DSL, which is why it earns a column alongside the dedicated wrappers in the tables above. The table below marks which managers each competing tool reaches natively, so the overlap with mpm is visible at a glance.
Manager |
|
|
|
|---|---|---|---|
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
||
β |
|||
β |
β |
||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
|||
β |
β |
Operating system supportΒΆ
DistributionΒΆ
Package manager |
|
|
|
|
|---|---|---|---|---|
Versions |
||||
GitHub |
- |
|||
macOS binary |
β
( |
β
( |
β
( |
|
Linux binary |
β
( |
β
( |
β
( |
|
Windows binary |
β
( |
β
( |
β
( |
|
Homebrew |
- |
|||
Chocolatey |
||||
Crates.io |
||||
PyPI |
||||
AUR votes |
ActivityΒΆ
PopularityΒΆ
MetadataΒΆ
Metadata |
|
|
|
|
|---|---|---|---|---|
License |
||||
Main language |
||||
Latest version |
||||
Version benchmarked |
|
|
|
|
Benchmark date |
2026-07 |
2026-07 |
2026-07 |
2026-07 |
Coming from pacapt, sysget or whohas?
These three were mpmβs closest peers: single-command wrappers that ran search, install, remove and upgrade across whatever package manager was on the host. All three are now unmaintained β pacapt last released in 2022, sysget in 2019 and whohas in 2015. mpm covers the same cross-manager operations β search, install, remove, upgrade, sync and cleanup β across many more backends, so their users can retire them and switch to mpm.