CLI reference#
ewoks install#
Install the packages required to run a workflow.
ewoks install relies on the existence of the requirements field in the graph field of the workflow.
If no requirements field exist, ewoks install will try to extract requirements from the tasks in the workflows before installing them.
Unless --yes is provided, ewoks install will ask for confirmation before installing the packages.
By default, packages are installed in the current Python environment: if ewoks install is run in a virtual environment, the packages will be installed in this virtual environment.
usage: ewoks install [-h] [--test] [--search] [--workflow-dir ROOT_DIR]
[--workflow-module ROOT_MODULE] [--yes] [-p PYTHON]
workflows [workflows ...]
Positional Arguments#
- workflows
Workflow(s) to install (e.g. JSON filename, JSON string).
Named Arguments#
- --test
The ‘workflow’ argument refers to the name of a test graph.
Default:
False- --search
The ‘workflow’ argument is a pattern to search for.Ignored when –test is provided.
Default:
False- --workflow-dir
Directory for path-like workflow representations or task identifiers of sub-workflows (cwd by default).
- --workflow-module
Python root module for module-like workflow representations or task identifiers of sub-workflows (cwd by default).
- --yes
Automatically accept installation prompts.
Default:
False- -p, --python
Python interpreter of the environment where the packages should be installed. Default: current environment Python.
ewoks convert#
Convert a source workflow in another format supported by Ewoks.
The source workflow is untouched: a new destination workflow is created.
Important
ewoks convert will save the packages installed in the current environment as requirements in the destination workflow.
⚠️ If the source workflow has a requirements field, it will therefore be replaced by this package list.
This can be disabled by using the --exclude-requirements argument.
ewoks convert can also be used to store inputs inside the destination workflow.
usage: ewoks convert [-h] [--test] [--search] [--workflow-dir ROOT_DIR]
[--workflow-module ROOT_MODULE] [-p [NODE:]NAME=VALUE]
[--input-node-id {id,label,taskid}]
[--inputs {start,all}]
[--src-format {json,json_dict,json_module,json_string,ows,test_core,yaml}]
[--dst-format {json,json_dict,json_module,json_string,ows,test_core,yaml}]
[-o OPTION=VALUE] [-s OPTION=VALUE]
[--exclude-requirements]
workflows [workflows ...] destination
Positional Arguments#
- workflows
Workflow(s) to convert (e.g. JSON filename, JSON string).
- destination
Destination of the conversion (e.g., JSON filename).
Named Arguments#
- --test
The ‘workflow’ argument refers to the name of a test graph.
Default:
False- --search
The ‘workflow’ argument is a pattern to search for.Ignored when –test is provided.
Default:
False- --workflow-dir
Directory for path-like workflow representations or task identifiers of sub-workflows (cwd by default).
- --workflow-module
Python root module for module-like workflow representations or task identifiers of sub-workflows (cwd by default).
- -p, --parameter
Input variable for a particular node (or all start nodes when missing)
Default:
[]- --input-node-id
Possible choices: id, label, taskid
The NODE attribute used when specifying an input parameter
Default:
'id'- --inputs
Possible choices: start, all
Inputs without a specific node go to start/all nodes
Default:
'start'- --src-format
Possible choices: json, json_dict, json_module, json_string, ows, test_core, yaml
Source format.
- --dst-format
Possible choices: json, json_dict, json_module, json_string, ows, test_core, yaml
Destination format.
- -o, --load-option
Load options.
Default:
[]- -s, --save-option
Save options.
Default:
[]- --exclude-requirements
Do not include the packages of the current Python environment as requirements in the destination workflow.
Default:
False
ewoks execute#
Execute a workflow using one of the Ewoks-supported engine.
The workflow can have any format as long it is supported by Ewoks.
Inputs can be provided only for this execution.
Tip
Using the execution option convert_destination (-o convert_destination=<new_workflow_name>) runs ewoks convert on the executed workflow, producing a new workflow that stored the inputs and the requirements inside.
The produced workflow can then be used as a provenance document since it can reproduce the source workflow execution in exactly the same way.
usage: ewoks execute [-h] [--test] [--search] [--workflow-dir ROOT_DIR]
[--workflow-module ROOT_MODULE] [-p [NODE:]NAME=VALUE]
[--input-node-id {id,label,taskid}]
[--inputs {start,all}] [--workflow-format REPRESENTATION]
[--data-root-uri DATA_ROOT_URI]
[--data-scheme {nexus,json}] [-o OPTION=VALUE]
[-t OPTION=VALUE] [-j JOB_ID] [--disable-events]
[--sqlite3 SQLITE3_URI] [--outputs {none,end,all}]
[--merge-outputs] [--engine ENGINE]
workflows [workflows ...]
Positional Arguments#
- workflows
Workflow(s) to execute (e.g. JSON filename, JSON string).
Named Arguments#
- --test
The ‘workflow’ argument refers to the name of a test graph.
Default:
False- --search
The ‘workflow’ argument is a pattern to search for.Ignored when –test is provided.
Default:
False- --workflow-dir
Directory for path-like workflow representations or task identifiers of sub-workflows (cwd by default).
- --workflow-module
Python root module for module-like workflow representations or task identifiers of sub-workflows (cwd by default).
- -p, --parameter
Input variable for a particular node (or all start nodes when missing)
Default:
[]- --input-node-id
Possible choices: id, label, taskid
The NODE attribute used when specifying an input parameter
Default:
'id'- --inputs
Possible choices: start, all
Inputs without a specific node go to start/all nodes
Default:
'start'- --workflow-format
Source format. Ignored when –test is provided.
- --data-root-uri
Root for Ewoks task result caching.
Default:
''- --data-scheme
Possible choices: nexus, json
Data format for Ewoks task result caching.
Default:
'nexus'- -o, --option
Engine execution option.
Default:
[]- -t, --task-option
Ewoks task option.
Default:
[]- -j, --jobid
Job ID for Ewoks events.
- --disable-events
Disable Ewoks events
Default:
False- --sqlite3
Store Ewoks events in an SQLite3 DB.
- --outputs
Possible choices: none, end, all
Print Ewoks task outputs.
Default:
'none'- --merge-outputs
Print merged Ewoks task outputs.
Default:
False- --engine
Execution engine.
Default:
'core'
ewoks submit#
Execute a workflow remotely, in a worker.
Very similar to ewoks execute except the execution does not run in this environment (client) but in a remote one (worker).
Requires the EWOKS_CONFIG_URI environment variable to be set.
Tip
Before running this command, the client and the worker must have agreed on a messaging protocol to communicate.
See the ewoksjob documentation to see how to set-up this.
usage: ewoks submit [-h] [--test] [--search] [--workflow-dir ROOT_DIR]
[--workflow-module ROOT_MODULE] [-p [NODE:]NAME=VALUE]
[--input-node-id {id,label,taskid}] [--inputs {start,all}]
[--workflow-format REPRESENTATION]
[--data-root-uri DATA_ROOT_URI]
[--data-scheme {nexus,json}] [-o OPTION=VALUE]
[-t OPTION=VALUE] [-j JOB_ID] [--disable-events]
[--sqlite3 SQLITE3_URI] [--outputs {none,end,all}]
[--merge-outputs] [--engine ENGINE] [--wait WAIT]
[-c NAME=VALUE] [--load-remote]
workflows [workflows ...]
Positional Arguments#
- workflows
Workflow(s) to execute (e.g. JSON filename, JSON string).
Named Arguments#
- --test
The ‘workflow’ argument refers to the name of a test graph.
Default:
False- --search
The ‘workflow’ argument is a pattern to search for.Ignored when –test is provided.
Default:
False- --workflow-dir
Directory for path-like workflow representations or task identifiers of sub-workflows (cwd by default).
- --workflow-module
Python root module for module-like workflow representations or task identifiers of sub-workflows (cwd by default).
- -p, --parameter
Input variable for a particular node (or all start nodes when missing)
Default:
[]- --input-node-id
Possible choices: id, label, taskid
The NODE attribute used when specifying an input parameter
Default:
'id'- --inputs
Possible choices: start, all
Inputs without a specific node go to start/all nodes
Default:
'start'- --workflow-format
Source format. Ignored when –test is provided.
- --data-root-uri
Root for Ewoks task result caching.
Default:
''- --data-scheme
Possible choices: nexus, json
Data format for Ewoks task result caching.
Default:
'nexus'- -o, --option
Engine execution option.
Default:
[]- -t, --task-option
Ewoks task option.
Default:
[]- -j, --jobid
Job ID for Ewoks events.
- --disable-events
Disable Ewoks events
Default:
False- --sqlite3
Store Ewoks events in an SQLite3 DB.
- --outputs
Possible choices: none, end, all
Print Ewoks task outputs.
Default:
'none'- --merge-outputs
Print merged Ewoks task outputs.
Default:
False- --engine
Execution engine.
Default:
'core'- --wait
Timeout for receiving the result. Negative number to disable.
Default:
-1- -c, --cparameter
Job scheduling parameter.
Default:
[]- --load-remote
Load the workflow remotely instead of locally.
Default:
False
ewoks show#
Display the workflow parameters with their default values and descriptions.
Required parameters without default value are highlighted. Parameters which get their value at runtime from upstream nodes in the workflow are not shown.
Parameters values in the displayed table can be provided in the same way as inputs for ewoks execute.
usage: ewoks show [-h] [--test] [--search] [--workflow-dir ROOT_DIR]
[--workflow-module ROOT_MODULE] [-p [NODE:]NAME=VALUE]
[--input-node-id {id,label,taskid}] [--inputs {start,all}]
[--src-format {json,json_dict,json_module,json_string,ows,test_core,yaml}]
[-o OPTION=VALUE]
workflows [workflows ...]
Positional Arguments#
- workflows
Workflow(s) to show (e.g. JSON filename, JSON string).
Named Arguments#
- --test
The ‘workflow’ argument refers to the name of a test graph.
Default:
False- --search
The ‘workflow’ argument is a pattern to search for.Ignored when –test is provided.
Default:
False- --workflow-dir
Directory for path-like workflow representations or task identifiers of sub-workflows (cwd by default).
- --workflow-module
Python root module for module-like workflow representations or task identifiers of sub-workflows (cwd by default).
- -p, --parameter
Input variable for a particular node (or all start nodes when missing)
Default:
[]- --input-node-id
Possible choices: id, label, taskid
The NODE attribute used when specifying an input parameter
Default:
'id'- --inputs
Possible choices: start, all
Inputs without a specific node go to start/all nodes
Default:
'start'- --src-format
Possible choices: json, json_dict, json_module, json_string, ows, test_core, yaml
Source format.
- -o, --load-option
Load options.
Default:
[]