Skip to content

Commit 1552134

Browse files
authored
Merge branch 'main' into update-content
2 parents 7dba9e0 + dff0826 commit 1552134

File tree

1 file changed

+26
-34
lines changed

1 file changed

+26
-34
lines changed

src/introduction/prerequisites.md

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
% writing this documentation.
55

66
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).
1011

1112
```{admonition} CWL Implementations
1213
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
1516
explanation in the [Implementations](basic-concepts.md#implementations) section.
1617
```
1718

@@ -24,12 +25,11 @@ of the following options for your operating system:
2425
- macOS
2526
- Windows
2627

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+).
3333
```
3434

3535
## CWL runner
@@ -62,29 +62,26 @@ You can find the `cwl-runner` source code [here](https://github.com/common-workf
6262
Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install)
6363
for other ways to install `cwltool` with `apt` and `conda`.
6464
```
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`.
6766

6867
```{literalinclude} /_includes/cwl/true.cwl
69-
:language: cwl
68+
:language: yaml
7069
:caption: "`true.cwl`"
7170
:name: true.cwl
7271
```
7372

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:
8178

8279
```{runcmd} cwltool --validate true.cwl
8380
:name: validating-truecwl-with-cwltool
8481
:caption: Validating `true.cwl` with `cwltool`.
8582
```
8683

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:
8885

8986
```{runcmd} cwltool true.cwl
9087
:name: running-true.cwl-with-cwltool
@@ -93,26 +90,21 @@ You can run the CWL workflow now that you know it is valid:
9390

9491
### cwl-runner Python module
9592

96-
`cwl-runner` is an implementation agnostic alias for CWL Runners.
93+
`cwl-runner` is an implementation-agnostic alias for CWL Runners.
9794
Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool`
9895
directly. The `cwl-runner` alias command then chooses the correct CWL runner.
9996
This is convenient for environments with multiple CWL runners.
10097

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`
105100

106101
```{code-block} console
107102
:name: installing-cwlrunner-with-pip
108-
:caption: Installing `cwl-runner` with `pip`.
103+
:caption: Installing `cwl-runner` alias for cwltool with `pip`.
109104
110-
$ pip install cwl-runner
105+
$ pip install cwlref-runner
111106
```
112107

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-
116108
Now you can validate and run your workflow with `cwl-runner` executable,
117109
which will invoke `cwltool`. You should have the same results and output
118110
as in the previous section.
@@ -178,13 +170,13 @@ auto-complete:
178170
- cwl-plugin for IntelliJ - <https://plugins.jetbrains.com/plugin/10040-cwl-plugin>
179171

180172
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>
182174

183175
## Docker
184176

185177
% https://github.com/common-workflow-language/user_guide/issues/119
186178

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.
188180
Follow the instructions in the Docker documentation to install it for your
189181
operating system: <https://docs.docker.com/>.
190182

0 commit comments

Comments
 (0)