meta_package_manager.base - Package manager definition¶
-
exception
meta_package_manager.base.CLIError(code, output, error)[source]¶ Bases:
exceptions.ExceptionAn error occured when running package manager CLI.
The exception internally keeps the result of CLI execution.
-
class
meta_package_manager.base.PackageManager[source]¶ Bases:
objectBase class from which all package manager definitions should inherits.
-
cli_path= None¶
-
cli_args= []¶
-
platforms= frozenset([])¶
-
requirement= None¶
-
version_string¶ Raw but cleaned string of the package manager version.
Returns None if the manager had an issue extracting its version.
-
version¶ Parsed and normalized package manager’s own version.
Returns an instance of
packaging.Versionor None.
-
id¶ Return package manager’s ID. Defaults based on class name.
This ID must be unique among all package manager definitions and lower-case as they’re used as feature flags for the mpm CLI.
-
name¶ Return package manager’s common name. Defaults based on class name.
-
supported¶ Is the package manager supported on that platform?
-
exists¶ Is the package manager CLI exist on the system?
-
executable¶ Is the package manager CLI can be executed by the current user?
-
fresh¶ Does the package manager match the version requirement?
-
available¶ Is the package manager available and ready-to-use on the system?
- Returns True only if the main CLI:
- 1 - is supported on the current platform, 2 - exists on the system, 3 - is executable, and 4 - match the version requirement.
-
run(args, dry_run=False)[source]¶ Run a shell command, return the output and keep error message.
Removes ANSI escape codes, and returns ready-to-use strings.
-
installed¶ List packages currently installed on the system.
Returns a list of dict with package ID, name and version.
-
outdated¶ List currently installed packages having a new version available.
Returns a list of dict with package ID, name, current installed version and latest upgradeable version.
-
upgrade(package_id=None, dry_run=False)[source]¶ Perform the upgrade of the provided package to latest version.
-