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
@@ -57,33 +57,25 @@ $ source venv/bin/activate
57
57
$ (venv) pip install cwltool
58
58
```
59
59
60
- ``` {note}
61
- Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install)
62
- for other ways to install `cwltool` with `apt` and `conda`.
63
- ```
64
-
65
- Let's use a simple workflow ` true.cwl ` with ` cwltool ` .
60
+ Let's use a simple CWl tool description ` true.cwl ` with ` cwltool ` .
66
61
67
62
``` {literalinclude} /_includes/cwl/true.cwl
68
- :language: cwl
63
+ :language: yaml
69
64
:caption: "`true.cwl`"
70
65
:name: true.cwl
71
66
```
72
67
73
- The ` cwltool ` command has an option to validate CWL workflows. It will parse the
74
- CWL workflow, look for syntax errors, and verify that the workflow is compliant
75
- with the CWL specification, without running the workflow. To use it you just need
76
- to pass ` --validate ` to the ` cwltool ` command:
77
-
78
- % TODO: maybe figure out a way to avoid /home/kinow/ etc. in the documentation
79
- % to avoid multiple user-names/directory-locations varying in the docs.
68
+ The ` cwltool ` command has an option to validate CWL tool and workflow descriptionss. It will parse the
69
+ CWL document, look for syntax errors, and verify that the descriptions are compliant
70
+ with the CWL standards, without running it. To validate CWL workflows (or even a
71
+ standalone command line tool description like above) pass the ` --validate ` option
72
+ to the ` cwltool ` command:
80
73
81
74
``` {runcmd} cwltool --validate true.cwl
82
75
:name: validating-truecwl-with-cwltool
83
76
:caption: Validating `true.cwl` with `cwltool`.
84
- ```
85
77
86
- You can run the CWL workflow now that you know it is valid :
78
+ You can run the CWL tool description by omitting the `--validate` option :
87
79
88
80
```{runcmd} cwltool true.cwl
89
81
:name: running-true.cwl-with-cwltool
@@ -92,26 +84,21 @@ You can run the CWL workflow now that you know it is valid:
92
84
93
85
### cwl-runner Python module
94
86
95
- ` cwl-runner ` is an implementation agnostic alias for CWL Runners.
87
+ ` cwl-runner ` is an implementation- agnostic alias for CWL Runners.
96
88
Users can invoke ` cwl-runner ` instead of invoking a CWL runner like ` cwltool `
97
89
directly. The ` cwl-runner ` alias command then chooses the correct CWL runner.
98
90
This is convenient for environments with multiple CWL runners.
99
91
100
- The CWL community publishes a Python module with the same name,
101
- ` cwl-runner ` , that defaults to ` cwltool ` . ` cwl-runner ` will be used in
102
- the rest of this user guide. You can use ` pip ` to install the ` cwl-runner `
103
- Python module:
92
+ The CWL community publishes a Python package with the name ` cwlref-runner ` that installs
93
+ an alias for ` cwltool ` under the name ` cwl-runner `
104
94
105
95
``` {code-block} console
106
96
:name: installing-cwlrunner-with-pip
107
- :caption: Installing `cwl-runner` with `pip`.
97
+ :caption: Installing `cwl-runner` alias for cwltool with `pip`.
108
98
109
- $ pip install cwl -runner
99
+ $ pip install cwlref -runner
110
100
```
111
101
112
- % TODO: Maybe tell users where the cwl-runner source is? I couldn't find in PYPI as
113
- % it points to the CWL project: https://github.com/common-workflow-language/cwltool/tree/main/cwlref-runner
114
-
115
102
Now you can validate and run your workflow with ` cwl-runner ` executable,
116
103
which will invoke ` cwltool ` . You should have the same results and output
117
104
as in the previous section.
@@ -177,13 +164,13 @@ auto-complete:
177
164
- cwl-plugin for IntelliJ - < https://plugins.jetbrains.com/plugin/10040-cwl-plugin >
178
165
179
166
The CWL community also maintains a list of editors and viewers:
180
- < https://www.commonwl.org/#Editors_and_viewers >
167
+ < https://www.commonwl.org/tools/#editors >
181
168
182
169
## Docker
183
170
184
171
% https://github.com/common-workflow-language/user_guide/issues/119
185
172
186
- ` cwltool ` uses Docker to run workflows or workflow steps with containers .
173
+ ` cwltool ` uses Docker to run tools, workflows, and workflow steps that specify a software container .
187
174
Follow the instructions in the Docker documentation to install it for your
188
175
operating system: < https://docs.docker.com/ > .
189
176
0 commit comments