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:
pluginsdirectory specified in providedconfig_path.pluginssub-directory of specified MicroDrop profile path (i.e.,microdrop_user_root)pluginssub-directory of parent directory of configuration file path specified usingMICRODROP_CONFIGenvironment variable.pluginssub-directory of MicroDrop profile path specified usingMICRODROP_PROFILEenvironment 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 Documentsdirectory 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_URLfor 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_URLfor 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_installscript 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).