Advanced Python Environment Options for InVEST Plugin Developers

The InVEST 3.20.1 release includes some enhancements to the Workbench that plugin developers may find useful. Find these new advanced features in the Manage Plugins window.

  1. An option to configure which Python package manager is used by the Workbench when building virtual environments for plugins. conda, mamba, or micromamba package managers are supported. The Workbench is distributed with micromamba, so this is the default option for the package manager. But we found some rare circumstances where this micromamba executeable did not work properly when users already had one of these package managers installed on their system. In this circumstance, the new option should allow users to point to a different package manager that works for them.

  2. Options to configure which Python environment is used for each plugin. When a plugin is installed, the Workbench builds a Python environment using micromamba (or whichever package manager is configured) and then installs the plugin and its dependencies in that environment. It is common for developers to want to manage their own Python environment, outside the context of the Workbench. This allows for a faster development cycle where changes can be tested without needing to uninstall and re-install the plugin into the Workbench. After a plugin is installed the first time, these new options allow the user to point the Workbench to an existing conda environment.