Hi,
Is there a recommended approach to make use of shared plugins, assuming those shared plugins are available to install via conda. Perhaps that should be, how can we effectively use conda to distribute shared xtriggers and plugins (at least internally). For example, shared
For xtriggers, they seem to need to be in your PYTHONPATH or workflow/lib/python folder. If we do conda create -n my_workflow cylc-local-xtriggers then, that may require Cylc, so it will install Cylc, etc, so it seems inefficient. If we are working across multiple projects, I would prefer they just be installed in my shared cylc create -n cylc-8.2.0 cylc-flow==8.2.0 environment and Cylc will just find them. But that environment doesn’t need to be active at install time, so unless we activate it, we can’t make use of activate/deactivate.sh scripts to add to the PYTHONPATH (which is suboptimal as described in the provided bin/cylc file). Could the local cylc-local-xtriggers package be installed under cylc-flow itself or would that not work (I have not checked if multiple conda packages can put things in the same lib/cylc-flow area). Or could Cylc add some items to the PYTHONPATH when it runs itself (change the last line to: exec PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}$CYLC_HOME/share/cylc/lib/python "${CYLC_HOME}/bin/{$0##*/}" "$@" and it be documented that cylc will look in that spot too?
Similarly for Jinja2 globals/filters/tests, could there be an extension to how they are found to encorprate shared items installed in the conda environment, looking in $CYLC_HOME/share/cylc/Jinja2{Globals,Filters,Tests}?
Or have I over-thought this and got myself lost and confused?
Thanks.