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ΒΆ
OperationsΒΆ
Every cell links to its evidence: a β to the documentation, CLI declaration or source line implementing the operation, a π‘ to the proof the capability only exists bundled inside another one, and a β to the upstream statement of scope ruling it out. A blank cell means no citable source was found either way.
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 |
||||||
Doctor / diagnostics |
||||||
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. It deliberately lists managers no tool here wraps yet: a row a competitor reaches and mpm does not is the point of the table, not an omission.
The mpm column reads as a scale. β
and β οΈ link to the class that implements the manager, the second meaning it is still wrapped and usable but its upstream is gone. β οΈ and β link instead to the recorded decision not to wrap it at all: the skull for a tool whose upstream is retired, the cross for a live one declined on its own merits. A blank cell is none of these β nobody has assessed that tool yet, and it is very likely available for the writing.
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-08 |
2026-07 |
2026-08 |
2026-07 |
Coming from pacapt, sysget or whohas?
mpmβs three closest peers are all retired. See unsupported managers for what happened to each and how their backend coverage maps onto mpm.