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 |
β |
β |
β |
β |
β |
β |
|||
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 |
β |
β |
β |
β |
|||||
β |
|||||||||
β |
|||||||||
Project-scoped manifest[9] |
β |
β |
β |
||||||
Apply manifest (declarative install) |
β |
β |
β |
β |
|||||
State drift detection |
β |
||||||||
State reconciliation cleanup |
β |
||||||||
Lockfile with checksums or attestations |
β |
||||||||
Third-party backend plugins |
β |
β |
β |
||||||
Per-package hooks (pre/post install) |
β |
β |
|||||||
Trust mechanism for project configs |
β |
||||||||
Backend-prefixed package IDs |
β |
β |
|||||||
Shim-based version routing |
β |
β |
|||||||
Walk-up directory resolution |
β |
β |
|||||||
Legacy version file ingestion |
β |
β |
|||||||
Environment variable management |
β |
||||||||
Task runner |
β |
OperationsΒΆ
Operation |
|
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|---|
List available managers |
β |
β |
β |
||||||
List installed packages |
β |
β |
β |
β |
β |
β |
|||
List duplicate packages |
β |
||||||||
List outdated packages |
β |
β |
β |
β |
β |
||||
Search packages |
β |
β |
β |
β |
β |
β |
β |
||
Locate binaries ( |
β |
β |
β |
β |
|||||
Install a package |
β |
β |
β |
β |
β |
β |
β |
||
Remove / Uninstall a package |
β |
β |
β |
β |
β |
β |
β |
||
Upgrade single package |
β |
β |
β |
β |
β |
||||
Upgrade all packages |
β |
β |
β |
β |
β |
β |
β |
||
Sync |
β |
β |
β |
β |
β |
β |
β |
||
Cleanup: caches |
β |
β |
β |
β |
β |
β |
β |
||
Cleanup: orphans |
β |
β |
β |
β |
β |
β |
|||
Backup / Lock / Freeze |
β |
β |
β |
β |
|||||
Restore |
β |
β |
β |
β |
|||||
List leaves (top-level installs) |
β |
||||||||
Autoremove orphaned dependencies |
β |
||||||||
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, mise, and asdf are themselves meta-managers: each dispatches to other package managers (brew bundle via the Brewfile DSL, mise via per-package backends, asdf via plugins). The columns below mark which third-party manager each tool reaches natively, so the overlap with mpm is visible at a glance.
Manager |
|
|
|
|
|
|
|---|---|---|---|---|---|---|
β |
||||||
β[10] |
||||||
β[10] |
||||||
β[10] |
||||||
β |
β |
β |
||||
β |
||||||
β |
||||||
β |
β |
β |
β |
β |
||
β |
β |
|||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
β |
β |
β |
|||
β |
||||||
β |
||||||
β |
β |
β |
β |
|||
β |
||||||
β |
||||||
β |
||||||
β |
β |
|||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
β |
|||
β |
||||||
β |
||||||
β |
β |
β |
β |
β |
||
β |
β |
|||||
β |
||||||
β[10] |
||||||
β[10] |
||||||
β |
β |
|||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
β |
|||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
|||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
β |
β |
β |
β |
||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
β |
|||||
β |
β |
|||||
β[10] |
||||||
β[10] |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
β |
β |
β |
|||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
β |
|||
β |
||||||
β |
||||||
β |
||||||
β |
β |
|||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
||||
β |
||||||
β |
||||||
β |
β |
|||||
β |
β |
|||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β[10] |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
β |
|||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
||||||
β |
β |
β |
β |
|||
β[10] |
||||||
β |
||||||
β[10] |
||||||
β[10] |
||||||
β[10] |
||||||
β[10] |
||||||
β |
||||||
β |
β |
β |
β |
β |
Operating system supportΒΆ
DistributionΒΆ
Package manager |
|
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|---|
Versions |
|||||||||
GitHub |
- |
||||||||
macOS binary |
β ( |
β ( |
β( |
β ( |
β ( |
||||
Linux binary |
β ( |
β ( |
β ( |
β ( |
β ( |
β ( |
|||
Windows binary |
β ( |
β ( |
β ( |
β ( |
|||||
Homebrew |
- |
||||||||
Macports |
|||||||||
Chocolatey |
|||||||||
Scoop |
|||||||||
Crates.io |
|||||||||
PyPI |
|||||||||
AUR votes |