The Workflow UI adds a Workflows node to the ResInsight project tree. It
requires a Python environment containing rips, taskmaestro, and the
workflow package.
These instructions assume ResInsight is already installed and working. Python 3.12 or newer and Git are required.
Choose a permanent location for the environment and workflow files:
mkdir -p ~/resinsight-workflows
python3 -m venv ~/resinsight-workflows/.venv
source ~/resinsight-workflows/.venv/bin/activate
python -m pip install --upgrade pipInstall rips from the Python directory supplied with ResInsight:
python -m pip install -e /path/to/ResInsight/PythonFor a source checkout, use /path/to/ResInsight/GrpcInterface/Python instead.
Clone and install the example workflows. This also installs taskmaestro:
git clone https://github.com/OPM/taskmaestro-resinsight.git \
~/resinsight-workflows/taskmaestro-resinsight
python -m pip install -e ~/resinsight-workflows/taskmaestro-resinsightResInsight reads workflows with python -m taskmaestro workflow describe, which
needs a taskmaestro version that reports config_values
(OPM/taskmaestro#13). Until that
is released, install it from Git:
python -m pip install "git+https://github.com/OPM/taskmaestro.git@main"ResInsight discovers workflows in ~/.taskmaestro/workflows:
mkdir -p ~/.taskmaestro/workflows
for workflow in ~/resinsight-workflows/taskmaestro-resinsight/workflows/*/; do
ln -sfn "$(realpath "$workflow")" \
~/.taskmaestro/workflows/"$(basename "$workflow")"
doneOpen Edit → Preferences and set:
-
Scripting → Python Executable Location to the absolute path printed by:
realpath ~/resinsight-workflows/.venv/bin/python -
Scripting → Enable Python Script Server to on.
-
System → Experimental Features → Workflows to on.
Restart ResInsight. The Workflows node should now appear in the project tree. Select a workflow, provide its inputs, and click Run.
- No Workflows node: Enable the experimental feature and restart ResInsight.
- The Workflows node is empty: Check that each directory under
~/.taskmaestro/workflowscontainsworkflow.yaml, then restart ResInsight. - A Python module cannot be found: Confirm that Python Executable Location points to the virtual environment created above.
- A workflow fails to load with
invalid choice: 'workflow', or its inputs are not pre-filled frominput.yaml: The installedtaskmaestrois too old; reinstall it as described above. - The workflow cannot connect: Enable Python Script Server and restart ResInsight.