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ΒΆ
Every glyph used below:
Glyph |
Meaning |
|---|---|
β |
Supported. In the |
β οΈ |
Wrapped by |
π |
Not wrapped, yet still reachable through |
β οΈ |
Never wrapped, and its upstream is retired. |
β |
Never wrapped: a live tool declined on its own merits. |
π‘ |
Coarse support a competitor cannot invoke for this manager alone, only as part of a wider sweep. |
Blank |
Nobody has assessed that tool yet, and it is very likely available for the writing. |
Manager |
|
|
|
|
|
|---|---|---|---|---|---|
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
|||
β |
|||||
β |
|||||
β |
β |
β |
β |
||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
β |
||
β |
β |
||||
β |
|||||
β |
β |
||||
β |
β |
||||
β |
|||||
β |
|||||
β |
β |
β |
|||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
β |
||
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
|||
β |
β |
||||
β |
|||||
β |
|||||
β |
β |
β |
|||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
β |
||||
β |
β |
β |
|||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
|||
β |
|||||
β |
β |
||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
β |
||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
β |
||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
|||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
||||
β |
β |
||||
β |
|||||
β |
|||||
β |
β |
β |
β |
||
β |
|||||
β |
|||||
β |
β |
β |
β |
||
β |
|||||
β |
|||||
β |
β |
||||
β |
|||||
β |
β |
β |
|||
β |
|||||
β |
β |
||||
β |
|||||
β |
|||||
β |
|||||
β |
β |
β |
β |
Note
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 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.
Operating system supportΒΆ
DistributionΒΆ
Package manager |
|
|
|
|
|
|
|---|---|---|---|---|---|---|
Versions |
||||||
GitHub |
- |
|||||
macOS binary |
β
( |
β
( |
β
( |
β
( |
||
Linux binary |
β
( |
β
( |
β
( |
β
( |
||
Windows binary |
β
( |
β
( |
β
( |
β
( |
||
Homebrew |
- |
|||||
Chocolatey |
||||||
Crates.io |
||||||
PyPI |
||||||
AUR votes |
ActivityΒΆ
PopularityΒΆ
The same five projects plotted against their own age instead of the calendar, which puts a ten-year-old project and a two-year-old one on equal footing:
Both are sampled weekly by docs/stars_update.py into star-history.json, after GitHub restricted its stargazer endpoints to a repositoryβs own admins in June 2026 and left every third-party chart rendering an error card. Each point records where it came from, since the curves are not all measured the same way: mpmβs is reconstructed from the timestamp of every star it still holds, so it dips where followers were lost, while the peers are sampled forward and backfilled from archived copies of their GitHub pages. brew is tracked in the table below but stays off both charts: Homebrew outweighs the rest by an order of magnitude and would flatten all five curves onto the axis.
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.