4
4
% writing this documentation.
5
5
6
6
The software and configurations listed in this section are prerequisites for
7
- following this user guide. The CWL Specification is implemented by multiple
8
- CWL Runners. This list of requirements focuses on the ` cwltool ` runner. You
9
- can use another CWL Runner but the examples may produce a different output.
7
+ following this user guide. The CWL standards are implemented by many different
8
+ workflow runners and platforms. This list of requirements focuses on the CWL reference runner,
9
+ ` cwltool ` . You can use another CWL compatible runner or workflow systems but the results and
10
+ interface may look different (though the exact workflow outputs should be identical).
10
11
11
12
``` {admonition} CWL Implementations
12
13
13
- There are many CWL Implementations . Some are complete CWL Runners ,
14
- others are plug-ins or extensions to Workflow Engines . We have a better
14
+ There are many implementations of the CWL standards . Some are complete CWL runners ,
15
+ others are plug-ins or extensions to workflow engines . We have a better
15
16
explanation in the [Implementations](basic-concepts.md#implementations) section.
16
17
```
17
18
@@ -24,12 +25,11 @@ of the following options for your operating system:
24
25
- macOS
25
26
- Windows
26
27
27
- ``` {note}
28
- If you are using Windows, you will have to install the Windows Subsystem for Linux.
29
- Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst)
30
- to setup the cwltool for your operating system.
31
- Your operating system also needs Internet access and a recent version
32
- of Python 3.
28
+ ``` {note}
29
+ If you are using Windows, you will have to install the Windows Subsystem for Linux 2.
30
+ Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users)
31
+ for details on installing WSL2.
32
+ Your operating system also needs internet access and a recent version of Python (3.6+).
33
33
```
34
34
35
35
## CWL runner
@@ -62,29 +62,26 @@ You can find the `cwl-runner` source code [here](https://github.com/common-workf
62
62
Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install)
63
63
for other ways to install `cwltool` with `apt` and `conda`.
64
64
```
65
-
66
- Let's use a simple workflow ` true.cwl ` with ` cwltool ` .
65
+ Let's use a simple CWl tool description ` true.cwl ` with ` cwltool ` .
67
66
68
67
``` {literalinclude} /_includes/cwl/true.cwl
69
- :language: cwl
68
+ :language: yaml
70
69
:caption: "`true.cwl`"
71
70
:name: true.cwl
72
71
```
73
72
74
- The ` cwltool ` command has an option to validate CWL workflows. It will parse the
75
- CWL workflow, look for syntax errors, and verify that the workflow is compliant
76
- with the CWL specification, without running the workflow. To use it you just need
77
- to pass ` --validate ` to the ` cwltool ` command:
78
-
79
- % TODO: maybe figure out a way to avoid /home/kinow/ etc. in the documentation
80
- % to avoid multiple user-names/directory-locations varying in the docs.
73
+ The ` cwltool ` command has an option to validate CWL tool and workflow descriptionss. It will parse the
74
+ CWL document, look for syntax errors, and verify that the descriptions are compliant
75
+ with the CWL standards, without running it. To validate CWL workflows (or even a
76
+ standalone command line tool description like above) pass the ` --validate ` option
77
+ to the ` cwltool ` command:
81
78
82
79
``` {runcmd} cwltool --validate true.cwl
83
80
:name: validating-truecwl-with-cwltool
84
81
:caption: Validating `true.cwl` with `cwltool`.
85
82
```
86
83
87
- You can run the CWL workflow now that you know it is valid :
84
+ You can run the CWL tool description by omitting the ` --validate ` option :
88
85
89
86
``` {runcmd} cwltool true.cwl
90
87
:name: running-true.cwl-with-cwltool
@@ -93,26 +90,21 @@ You can run the CWL workflow now that you know it is valid:
93
90
94
91
### cwl-runner Python module
95
92
96
- ` cwl-runner ` is an implementation agnostic alias for CWL Runners.
93
+ ` cwl-runner ` is an implementation- agnostic alias for CWL Runners.
97
94
Users can invoke ` cwl-runner ` instead of invoking a CWL runner like ` cwltool `
98
95
directly. The ` cwl-runner ` alias command then chooses the correct CWL runner.
99
96
This is convenient for environments with multiple CWL runners.
100
97
101
- The CWL community publishes a Python module with the same name,
102
- ` cwl-runner ` , that defaults to ` cwltool ` . ` cwl-runner ` will be used in
103
- the rest of this user guide. You can use ` pip ` to install the ` cwl-runner `
104
- Python module:
98
+ The CWL community publishes a Python package with the name ` cwlref-runner ` that installs
99
+ an alias for ` cwltool ` under the name ` cwl-runner `
105
100
106
101
``` {code-block} console
107
102
:name: installing-cwlrunner-with-pip
108
- :caption: Installing `cwl-runner` with `pip`.
103
+ :caption: Installing `cwl-runner` alias for cwltool with `pip`.
109
104
110
- $ pip install cwl -runner
105
+ $ pip install cwlref -runner
111
106
```
112
107
113
- % TODO: Maybe tell users where the cwl-runner source is? I couldn't find in PYPI as
114
- % it points to the CWL project: https://github.com/common-workflow-language/cwltool/tree/main/cwlref-runner
115
-
116
108
Now you can validate and run your workflow with ` cwl-runner ` executable,
117
109
which will invoke ` cwltool ` . You should have the same results and output
118
110
as in the previous section.
@@ -178,13 +170,13 @@ auto-complete:
178
170
- cwl-plugin for IntelliJ - < https://plugins.jetbrains.com/plugin/10040-cwl-plugin >
179
171
180
172
The CWL community also maintains a list of editors and viewers:
181
- < https://www.commonwl.org/#Editors_and_viewers >
173
+ < https://www.commonwl.org/tools/#editors >
182
174
183
175
## Docker
184
176
185
177
% https://github.com/common-workflow-language/user_guide/issues/119
186
178
187
- ` cwltool ` uses Docker to run workflows or workflow steps with containers .
179
+ ` cwltool ` uses Docker to run tools, workflows, and workflow steps that specify a software container .
188
180
Follow the instructions in the Docker documentation to install it for your
189
181
operating system: < https://docs.docker.com/ > .
190
182
0 commit comments