Some folks from TNC have developed an InVEST Calibration Assistant tool that works with AWY, SWY, SDR, and NDR. We've been talking with them about turning this tool into an InVEST plugin. Since the tool works with several InVEST models, but requires different inputs depending upon which model the user wants to calibrate, it may actually make more sense to develop this as a suite of plugins (one for each supported model). This would allow for a cleaner Workbench UI and less-complicated conditionality for inputs.
Right now, if the TNC folks wanted to develop a calibration plugin for each supported model, they would either need a separate GitHub repo for each plugin or would need separate branches for each plugin in the same repo (a bit hacky, but could possibly work?). This isn't ideal, since these plugins would likely share code under the hood. The branch-based solution would likely make development and maintenance more challenging.
Instead, it would be great if we could support installing plugins from subpackages. This would allow plugins of the same "family" to reuse shared code, and eliminate the need for separate GitHub repositories (and code duplication).
One possible way to enable this: in the Workbench plugin installation modal, could we add a field for "subpackage" where a user could point to a directory in a GitHub repo containing a pyproject.toml for a subpackage?
Taking this a step further, it would be cool if, eventually, a "suite" of plugins like this could be installed together, into the same environment.
Estimated time to complete: 1-3 days for scoping, possibly another 1-3 for implementation and testing (depending upon how we decide to proceed)
Some folks from TNC have developed an InVEST Calibration Assistant tool that works with AWY, SWY, SDR, and NDR. We've been talking with them about turning this tool into an InVEST plugin. Since the tool works with several InVEST models, but requires different inputs depending upon which model the user wants to calibrate, it may actually make more sense to develop this as a suite of plugins (one for each supported model). This would allow for a cleaner Workbench UI and less-complicated conditionality for inputs.
Right now, if the TNC folks wanted to develop a calibration plugin for each supported model, they would either need a separate GitHub repo for each plugin or would need separate branches for each plugin in the same repo (a bit hacky, but could possibly work?). This isn't ideal, since these plugins would likely share code under the hood. The branch-based solution would likely make development and maintenance more challenging.
Instead, it would be great if we could support installing plugins from subpackages. This would allow plugins of the same "family" to reuse shared code, and eliminate the need for separate GitHub repositories (and code duplication).
One possible way to enable this: in the Workbench plugin installation modal, could we add a field for "subpackage" where a user could point to a directory in a GitHub repo containing a pyproject.toml for a subpackage?
Taking this a step further, it would be cool if, eventually, a "suite" of plugins like this could be installed together, into the same environment.
Estimated time to complete: 1-3 days for scoping, possibly another 1-3 for implementation and testing (depending upon how we decide to proceed)