mpm Package

mpm Package

mpm.pformat_dict(data, separator=' ')[source]

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:

  1. plugins directory specified in provided config_path.
  2. plugins sub-directory of specified MicroDrop profile path (i.e., microdrop_user_root)
  3. plugins sub-directory of parent directory of configuration file path specified using MICRODROP_CONFIG environment variable.
  4. plugins sub-directory of MicroDrop profile path specified using MICRODROP_PROFILE environment variable.
  5. Plugins directory specified in <home directory>/MicroDrop/microdrop.ini.
  6. Plugins directory in default profile location, i.e., <home directory>/MicroDrop/plugins.
Parameters:
  • config_path (str, optional) – Configuration file path (i.e., path to microdrop.ini).
  • microdrop_user_root (str, optional) – Path to MicroDrop user data directory.
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)

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)

mpm.commands.uninstall(plugin_package, plugins_directory)[source]
Parameters:
  • plugin_package (str) – Name of plugin package hosted on MicroDrop plugin index.
  • plugins_directory (str) – Path to MicroDrop user plugins directory.

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).