CLI parameters¶
Help screen¶
Options¶
mpm¶
CLI options shared by all subcommands.
Usage
mpm [OPTIONS] COMMAND [ARGS]...
Options
- --apm¶
(Deprecated) Select Atom’s apm.
- --apt¶
Select APT.
- --apt-mint¶
Select Linux Mint’s apt.
- --brew¶
Select Homebrew Formulae.
- --cargo¶
Select Rust’s cargo.
- --cask¶
Select Homebrew Cask.
- --choco¶
Select Chocolatey.
- --composer¶
Select PHP’s Composer.
- --dnf¶
Select DNF.
- --dnf5¶
Select DNF5.
- --emerge¶
Select Emerge.
- --eopkg¶
Select Solus package manager.
- --flatpak¶
Select Flatpak.
- --fwupd¶
Select Linux Vendor Firmware Service.
- --gem¶
Select Ruby Gems.
- --mas¶
Select Mac AppStore.
- --npm¶
Select Node’s npm.
- --opkg¶
Select OPKG.
- --pacaur¶
Select Pacaur.
- --pacman¶
Select Pacman.
- --paru¶
Select Paru.
- --pip¶
Select Pip.
- --pipx¶
Select Pipx.
- --pkg¶
Select FreeBSD System Manager.
- --scoop¶
Select Scoop.
- --snap¶
Select Snap.
- --steamcmd¶
Select Valve Steam.
- --uv¶
Select UV.
- --vscode¶
Select Visual Studio Code.
- --vscodium¶
Select VSCodium.
- --winget¶
Select WinGet.
- --yarn¶
Select Node’s yarn.
- --yay¶
Select Yay.
- --yum¶
Select YUM.
- --zypper¶
Select Zypper.
- --no-apm¶
(Deprecated) Deselect Atom’s apm.
- --no-apt¶
Deselect APT.
- --no-apt-mint¶
Deselect Linux Mint’s apt.
- --no-brew¶
Deselect Homebrew Formulae.
- --no-cargo¶
Deselect Rust’s cargo.
- --no-cask¶
Deselect Homebrew Cask.
- --no-choco¶
Deselect Chocolatey.
- --no-composer¶
Deselect PHP’s Composer.
- --no-dnf¶
Deselect DNF.
- --no-dnf5¶
Deselect DNF5.
- --no-emerge¶
Deselect Emerge.
- --no-eopkg¶
Deselect Solus package manager.
- --no-flatpak¶
Deselect Flatpak.
- --no-fwupd¶
Deselect Linux Vendor Firmware Service.
- --no-gem¶
Deselect Ruby Gems.
- --no-mas¶
Deselect Mac AppStore.
- --no-npm¶
Deselect Node’s npm.
- --no-opkg¶
Deselect OPKG.
- --no-pacaur¶
Deselect Pacaur.
- --no-pacman¶
Deselect Pacman.
- --no-paru¶
Deselect Paru.
- --no-pip¶
Deselect Pip.
- --no-pipx¶
Deselect Pipx.
- --no-pkg¶
Deselect FreeBSD System Manager.
- --no-scoop¶
Deselect Scoop.
- --no-snap¶
Deselect Snap.
- --no-steamcmd¶
Deselect Valve Steam.
- --no-uv¶
Deselect UV.
- --no-vscode¶
Deselect Visual Studio Code.
- --no-vscodium¶
Deselect VSCodium.
- --no-winget¶
Deselect WinGet.
- --no-yarn¶
Deselect Node’s yarn.
- --no-yay¶
Deselect Yay.
- --no-yum¶
Deselect YUM.
- --no-zypper¶
Deselect Zypper.
- -a, --all-managers¶
Force evaluation of all managers implemented by mpm, including those not supported by the current platform or deprecated. Still applies filtering by –<manager-id> / –no-<manager-id> options before calling the subcommand.
- -x, --xkcd¶
Preset manager selection as defined by XKCD #1654. Equivalent to: –pip –brew –npm –dnf –apt –steamcmd.
- --ignore-auto-updates, --include-auto-updates¶
Report all outdated packages, including those tagged as auto-updating. Only applies to outdated and upgrade subcommands.
- --stop-on-error, --continue-on-error¶
Stop right away or continue operations on manager CLI error.
- -d, --dry-run¶
Do not actually perform any action, just simulate CLI calls.
- -t, --timeout <timeout>¶
Set maximum duration in seconds for each CLI call.
- --description¶
Show package description in results.
- -s, --sort-by <sort_by>¶
Sort results.
- Options:
manager_id | manager_name | package_id | package_name | version
- --stats, --no-stats¶
Print per-manager package statistics.
- --bar-plugin-path¶
Print location of the Xbar/SwiftBar plugin.
- --time, --no-time¶
Measure and print elapsed execution time.
- --color, --ansi, --no-color, --no-ansi¶
Strip out all colors and all ANSI codes from output.
- --config <CONFIG_PATH>¶
Location of the configuration file. Supports local path with glob patterns or remote URL.
- --no-config¶
Ignore all configuration files and only use command line parameters and environment variables.
- --show-params¶
Show all CLI parameters, their provenance, defaults and value, then exit.
- -o, --output-format <output_format>¶
Rendering format of the output.
- Options:
asciidoc | csv | csv-excel | csv-excel-tab | csv-unix | double-grid | double-outline | fancy-grid | fancy-outline | github | grid | heavy-grid | heavy-outline | html | jira | json | latex | latex-booktabs | latex-longtable | latex-raw | mediawiki | mixed-grid | mixed-outline | moinmoin | orgtbl | outline | pipe | plain | presto | pretty | psql | rounded-grid | rounded-outline | rst | simple | simple-grid | simple-outline | textile | tsv | unsafehtml | vertical | youtrack
- --verbosity <LEVEL>¶
Either CRITICAL, ERROR, WARNING, INFO, DEBUG.
- Options:
CRITICAL | ERROR | WARNING | INFO | DEBUG
- -v, --verbose¶
- --version¶
Show the version and exit.
Environment variables
- ('MPM_APM',)
Provide a default for
--apm
- ('MPM_APT',)
Provide a default for
--apt
- ('MPM_APT_MINT',)
Provide a default for
--apt-mint
- ('MPM_BREW',)
Provide a default for
--brew
- ('MPM_CARGO',)
Provide a default for
--cargo
- ('MPM_CASK',)
Provide a default for
--cask
- ('MPM_CHOCO',)
Provide a default for
--choco
- ('MPM_COMPOSER',)
Provide a default for
--composer
- ('MPM_DNF',)
Provide a default for
--dnf
- ('MPM_DNF5',)
Provide a default for
--dnf5
- ('MPM_EMERGE',)
Provide a default for
--emerge
- ('MPM_EOPKG',)
Provide a default for
--eopkg
- ('MPM_FLATPAK',)
Provide a default for
--flatpak
- ('MPM_FWUPD',)
Provide a default for
--fwupd
- ('MPM_GEM',)
Provide a default for
--gem
- ('MPM_MAS',)
Provide a default for
--mas
- ('MPM_NPM',)
Provide a default for
--npm
- ('MPM_OPKG',)
Provide a default for
--opkg
- ('MPM_PACAUR',)
Provide a default for
--pacaur
- ('MPM_PACMAN',)
Provide a default for
--pacman
- ('MPM_PARU',)
Provide a default for
--paru
- ('MPM_PIP',)
Provide a default for
--pip
- ('MPM_PIPX',)
Provide a default for
--pipx
- ('MPM_PKG',)
Provide a default for
--pkg
- ('MPM_SCOOP',)
Provide a default for
--scoop
- ('MPM_SNAP',)
Provide a default for
--snap
- ('MPM_STEAMCMD',)
Provide a default for
--steamcmd
- ('MPM_UV',)
Provide a default for
--uv
- ('MPM_VSCODE',)
Provide a default for
--vscode
- ('MPM_VSCODIUM',)
Provide a default for
--vscodium
- ('MPM_WINGET',)
Provide a default for
--winget
- ('MPM_YARN',)
Provide a default for
--yarn
- ('MPM_YAY',)
Provide a default for
--yay
- ('MPM_YUM',)
Provide a default for
--yum
- ('MPM_ZYPPER',)
Provide a default for
--zypper
- ('MPM_NO_APM',)
Provide a default for
--no-apm
- ('MPM_NO_APT',)
Provide a default for
--no-apt
- ('MPM_NO_APT_MINT',)
Provide a default for
--no-apt-mint
- ('MPM_NO_BREW',)
Provide a default for
--no-brew
- ('MPM_NO_CARGO',)
Provide a default for
--no-cargo
- ('MPM_NO_CASK',)
Provide a default for
--no-cask
- ('MPM_NO_CHOCO',)
Provide a default for
--no-choco
- ('MPM_NO_COMPOSER',)
Provide a default for
--no-composer
- ('MPM_NO_DNF',)
Provide a default for
--no-dnf
- ('MPM_NO_DNF5',)
Provide a default for
--no-dnf5
- ('MPM_NO_EMERGE',)
Provide a default for
--no-emerge
- ('MPM_NO_EOPKG',)
Provide a default for
--no-eopkg
- ('MPM_NO_FLATPAK',)
Provide a default for
--no-flatpak
- ('MPM_NO_FWUPD',)
Provide a default for
--no-fwupd
- ('MPM_NO_GEM',)
Provide a default for
--no-gem
- ('MPM_NO_MAS',)
Provide a default for
--no-mas
- ('MPM_NO_NPM',)
Provide a default for
--no-npm
- ('MPM_NO_OPKG',)
Provide a default for
--no-opkg
- ('MPM_NO_PACAUR',)
Provide a default for
--no-pacaur
- ('MPM_NO_PACMAN',)
Provide a default for
--no-pacman
- ('MPM_NO_PARU',)
Provide a default for
--no-paru
- ('MPM_NO_PIP',)
Provide a default for
--no-pip
- ('MPM_NO_PIPX',)
Provide a default for
--no-pipx
- ('MPM_NO_PKG',)
Provide a default for
--no-pkg
- ('MPM_NO_SCOOP',)
Provide a default for
--no-scoop
- ('MPM_NO_SNAP',)
Provide a default for
--no-snap
- ('MPM_NO_STEAMCMD',)
Provide a default for
--no-steamcmd
- ('MPM_NO_UV',)
Provide a default for
--no-uv
- ('MPM_NO_VSCODE',)
Provide a default for
--no-vscode
- ('MPM_NO_VSCODIUM',)
Provide a default for
--no-vscodium
- ('MPM_NO_WINGET',)
Provide a default for
--no-winget
- ('MPM_NO_YARN',)
Provide a default for
--no-yarn
- ('MPM_NO_YAY',)
Provide a default for
--no-yay
- ('MPM_NO_YUM',)
Provide a default for
--no-yum
- ('MPM_NO_ZYPPER',)
Provide a default for
--no-zypper
- ('MPM_ALL_MANAGERS',)
Provide a default for
-a
- ('MPM_XKCD',)
Provide a default for
-x
- ('MPM_MANAGER',)
Provide a default for
-m
- ('MPM_EXCLUDE',)
Provide a default for
-e
- ('MPM_IGNORE_AUTO_UPDATES',)
Provide a default for
--ignore-auto-updates
- ('MPM_STOP_ON_ERROR',)
Provide a default for
--stop-on-error
- ('MPM_DRY_RUN',)
Provide a default for
-d
- ('MPM_TIMEOUT',)
Provide a default for
-t
- ('MPM_DESCRIPTION',)
Provide a default for
--description
- ('MPM_SORT_BY',)
Provide a default for
-s
- ('MPM_STATS',)
Provide a default for
--stats
- ('MPM_BAR_PLUGIN_PATH',)
Provide a default for
--bar-plugin-path
- ('MPM_TIME',)
Provide a default for
--time
- ('MPM_COLOR',)
Provide a default for
--color
- ('MPM_CONFIG',)
Provide a default for
--config
- ('MPM_CONFIG',)
Provide a default for
--no-config
- ('MPM_SHOW_PARAMS',)
Provide a default for
--show-params
- ('MPM_OUTPUT_FORMAT',)
Provide a default for
-o
- ('MPM_VERBOSITY',)
Provide a default for
--verbosity
- ('MPM_VERBOSE',)
Provide a default for
--verbose
- ('MPM_VERSION',)
Provide a default for
--version
backup¶
Dump the list of installed packages to a TOML file.
By default the generated TOML content is displayed directly in the console output. So mpm backup is the same as a call to mpm backup -. To have the result written in a file on disk, specify the output file like so: mpm backup packages.toml.
Files produced by this subcommand can be safely consumed by mpm restore.
Sections of the TOML file will be named after the manager ID. Sections are ordered in the same order as the manager selection priority. Each section will contain a list of package IDs and their installed version.
Usage
mpm backup [OPTIONS] [TOML_PATH]
Options
- --overwrite, --force, --replace¶
Allow the provided TOML file to be silently wiped out if it already exists.
- --merge¶
Read the provided TOML file and update each entry with the version currently installed on the system. Requires the [TOML_PATH] argument.
- --update-version¶
Read the provided TOML file and update each existing entry with the version currently installed on the system. Requires the [TOML_PATH] argument.
Arguments
- TOML_PATH¶
Optional argument
Environment variables
- ('BACKUP_OVERWRITE',)
Provide a default for
--overwrite
- ('BACKUP_MERGE',)
Provide a default for
--merge
- ('BACKUP_UPDATE_VERSION',)
Provide a default for
--update-version
cleanup¶
Cleanup local data, temporary artifacts and removes orphaned dependencies.
Usage
mpm cleanup [OPTIONS]
install¶
Install one or more packages.
This subcommand is sensible to the order of the package managers selected by the user.
Installation will first proceed for all the packages found to be tied to a specific manager. Which is the case for packages provided with precise package specifiers (like purl). This will also happens in situations in which a tighter selection of managers is provided by the user.
For packages whose manager is not known, or if multiple managers are candidates for the installation, mpm will try to find the best manager to install it with.
Installation will be attempted with each manager, in the order they were selected. If a search for the package ID returns no result from the highest-priority manager, we will skip the installation and try the next available managers in the order of their priority.
Usage
mpm install [OPTIONS] PACKAGES_SPECS...
Arguments
- PACKAGES_SPECS¶
Required argument(s)
A mix of plain <package_id>, simple <package_id@version> specifiers or full <pkg:npm/left-pad> purls.
installed¶
List all packages installed on the system by each manager.
Usage
mpm installed [OPTIONS]
Options
- -d, --duplicates¶
Only list installed packages sharing the same ID. Implies –sort_by package_id to make duplicates easier to compare between themselves.
Environment variables
- ('INSTALLED_DUPLICATES',)
Provide a default for
-d
managers¶
List all supported package managers and autodetect their presence on the system.
Usage
mpm managers [OPTIONS]
outdated¶
List available package upgrades and their versions for each manager.
Usage
mpm outdated [OPTIONS]
Options
- --plugin-output¶
Output results for direct consumption by an Xbar/SwiftBar-compatible plugin. The layout is dynamic and depends on environment variables set by either Xbar or SwiftBar.
Environment variables
- ('OUTDATED_PLUGIN_OUTPUT',)
Provide a default for
--plugin-output
remove¶
Remove one or more packages.
Packages recognized by multiple managers will be remove with each of them. You can fine-tune this behavior with more precise package specifiers (like purl) and/or tighter selection of managers.
Packages unrecognized by any selected manager will be skipped.
Usage
mpm remove [OPTIONS] PACKAGES_SPECS...
Arguments
- PACKAGES_SPECS¶
Required argument(s)
A mix of plain <package_id>, simple <package_id@version> specifiers or full <pkg:npm/left-pad> purls.
restore¶
Read TOML files then install or upgrade each package referenced in them.
Usage
mpm restore [OPTIONS] TOML_FILES...
Arguments
- TOML_FILES¶
Required argument(s)
sbom¶
Export list of installed packages to a SPDX or CycloneDX file.
Usage
mpm sbom [OPTIONS] [EXPORT_PATH]
Options
- --spdx, --cyclonedx¶
SBOM standard to export to.
- --format <export_format>¶
File format of the export. Defaults to JSON for <stdout>. If not provided, will be autodetected from file extension.
- Options:
json | xml | yaml | tag | rdf
- --overwrite, --force, --replace¶
Allow the target file to be silently wiped out if it already exists.
Arguments
- EXPORT_PATH¶
Optional argument
Environment variables
- ('SBOM_SPDX',)
Provide a default for
--spdx
- ('SBOM_EXPORT_FORMAT',)
Provide a default for
--format
- ('SBOM_OVERWRITE',)
Provide a default for
--overwrite
search¶
Search each manager for a package ID, name or description matching the query.
Usage
mpm search [OPTIONS] QUERY
Options
- --extended, --id-name-only¶
Extend search to description, instead of restricting it to package ID and name. Implies –description.
- --exact, --fuzzy¶
Only returns exact matches on package ID or name.
- --refilter, --no-refilter¶
Let mpm refilters managers’ search results.
Arguments
- QUERY¶
Required argument
Environment variables
- ('SEARCH_EXTENDED',)
Provide a default for
--extended
- ('SEARCH_EXACT',)
Provide a default for
--exact
- ('SEARCH_REFILTER',)
Provide a default for
--refilter
sync¶
Sync local package metadata and info from external sources.
Usage
mpm sync [OPTIONS]
upgrade¶
Upgrade one or more outdated packages.
All outdated package will be upgraded by default if no specifiers are provided as arguments. I.e. assumes -A/–all option if no [PACKAGES_SPECS]….
Packages recognized by multiple managers will be upgraded with each of them. You can fine-tune this behavior with more precise package specifiers (like purl) and/or tighter selection of managers.
Packages unrecognized by any selected manager will be skipped.
Usage
mpm upgrade [OPTIONS] [PACKAGES_SPECS]...
Options
- -A, --all¶
Upgrade all outdated packages. Will make the command ignore package IDs provided as parameters.
Arguments
- PACKAGES_SPECS¶
Optional argument(s)
A mix of plain <package_id>, simple <package_id@version> specifiers or full <pkg:npm/left-pad> purls.
Environment variables
- ('UPGRADE_ALL',)
Provide a default for
-A
which¶
Search from the user’s environment all CLIs matching the query.
This is mpm’s own version of the which -a UNIX command, used internally to locate binaries for each manager. It is exposed as a subcommand for convenience and to help troubleshoot CLI resolution logic.
Compared to the venerable which command, this will respect the additional path configured for each package manager. It will ignore files that are empty (0 size). On Windows, it additionally suppress the default lookup in the current directory, which takes precedence on other paths.
Usage
mpm which [OPTIONS] CLI_NAMES...
Arguments
- CLI_NAMES¶
Required argument(s)