meta_package_manager.base
- Package manager definition¶
-
exception
meta_package_manager.base.
CLIError
(code, output, error)[source]¶ Bases:
exceptions.Exception
An error occured when running package manager CLI.
The exception internally keeps the result of CLI execution.
-
class
meta_package_manager.base.
PackageManager
[source]¶ Bases:
object
Base 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.Version
or 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.
-