mpm Package¶
commands
Module¶
Inspired by pip.
mpm install <plugin-name>[(==|>|>=|<=)version] [<plugin-name>[(==|>|>=|<=)version]...]
mpm install -r plugin_requirements.txt
mpm uninstall <plugin-name>
mpm freeze
-
mpm.commands.
extract_metadata
(fileobj)[source]¶ Extract metadata from plugin archive file-like object (e.g., opened file,
StringIO
).Parameters: fileobj (file-like) – MicroDrop plugin archive file object. Returns: Metadata dictionary for plugin. Return type: dict
-
mpm.commands.
freeze
(plugins_directory)[source]¶ Parameters: plugins_directory (str) – Path to MicroDrop user plugins directory. Returns: List of package strings corresponding to installed plugin versions. Return type: list
-
mpm.commands.
get_plugins_directory
(config_path=None, microdrop_user_root=None)[source]¶ Resolve plugins directory.
Plugins directory is resolved as follows, highest-priority first:
plugins
directory specified in providedconfig_path
.plugins
sub-directory of specified MicroDrop profile path (i.e.,microdrop_user_root
)plugins
sub-directory of parent directory of configuration file path specified usingMICRODROP_CONFIG
environment variable.plugins
sub-directory of MicroDrop profile path specified usingMICRODROP_PROFILE
environment variable.- Plugins directory specified in
<home directory>/MicroDrop/microdrop.ini
. - Plugins directory in default profile location, i.e.,
<home directory>/MicroDrop/plugins
.
Parameters: Returns: Absolute path to plugins directory.
Return type: path
-
mpm.commands.
home_dir
()[source]¶ Returns: Path to home directory (or Documents
directory on Windows).Return type: str
-
mpm.commands.
install
(plugin_package, plugins_directory, server_url='http://microfluidics.utoronto.ca/update/plugins/{}/json/')[source]¶ Parameters: - plugin_package (str) – Name of plugin package hosted on MicroDrop plugin index. Version
constraints are also supported (e.g.,
"foo", "foo==1.0", "foo>=1.0"
, etc.) See version specifiers reference for more details. - plugins_directory (str) – Path to MicroDrop user plugins directory.
- server_url (str) – URL of JSON request for MicroDrop plugins package index. See
DEFAULT_SERVER_URL
for default.
Returns: Path to directory of installed plugin and plugin package metadata dictionary.
Return type: (path, dict)
- plugin_package (str) – Name of plugin package hosted on MicroDrop plugin index. Version
constraints are also supported (e.g.,
-
mpm.commands.
install_fileobj
(fileobj, plugin_path)[source]¶ Extract and install plugin from file-like object (e.g., opened file,
StringIO
).Parameters: - fileobj (file-like) – MicroDrop plugin file object to extract and install.
- plugin_path (path) – Target plugin install directory path.
Returns: Directory of installed plugin and metadata dictionary for plugin.
Return type: (path, dict)
-
mpm.commands.
plugin_request
(plugin_str)[source]¶ Extract plugin name and version specifiers from plugin descriptor string.
-
mpm.commands.
search
(plugin_package, server_url='http://microfluidics.utoronto.ca/update/plugins/{}/json/')[source]¶ Parameters: - plugin_package (str) – Name of plugin package hosted on MicroDrop plugin index. Version
constraints are also supported (e.g.,
"foo", "foo==1.0", "foo>=1.0"
, etc.) See version specifiers reference for more details. - server_url (str) – URL of JSON request for MicroDrop plugins package index. See
DEFAULT_SERVER_URL
for default.
Returns: Name of found plugin and mapping of version strings to plugin package metadata dictionaries.
Return type: (str, OrderedDict)
- plugin_package (str) – Name of plugin package hosted on MicroDrop plugin index. Version
constraints are also supported (e.g.,
hooks
Module¶
-
mpm.hooks.
on_plugin_install
(plugin_directory, ostream=<open file '<stdout>', mode 'w'>)[source]¶ Run
on_plugin_install
script for specified plugin directory (if available).TODO Add support for Linux, OSX.
Parameters: - plugin_directory (str) – File system to plugin directory.
- ostream (file-like) – Output stream for status messages (default:
sys.stdout
).