Skip to content

Commit f6d3560

Browse files
committed
prereqs: clarify language
1 parent a958af4 commit f6d3560

File tree

1 file changed

+26
-39
lines changed

1 file changed

+26
-39
lines changed

src/introduction/prerequisites.md

Lines changed: 26 additions & 39 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
@@ -57,33 +57,25 @@ $ source venv/bin/activate
5757
$ (venv) pip install cwltool
5858
```
5959

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`.
6661

6762
```{literalinclude} /_includes/cwl/true.cwl
68-
:language: cwl
63+
:language: yaml
6964
:caption: "`true.cwl`"
7065
:name: true.cwl
7166
```
7267

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

8174
```{runcmd} cwltool --validate true.cwl
8275
:name: validating-truecwl-with-cwltool
8376
:caption: Validating `true.cwl` with `cwltool`.
84-
```
8577
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:
8779
8880
```{runcmd} cwltool true.cwl
8981
:name: running-true.cwl-with-cwltool
@@ -92,26 +84,21 @@ You can run the CWL workflow now that you know it is valid:
9284

9385
### cwl-runner Python module
9486

95-
`cwl-runner` is an implementation agnostic alias for CWL Runners.
87+
`cwl-runner` is an implementation-agnostic alias for CWL Runners.
9688
Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool`
9789
directly. The `cwl-runner` alias command then chooses the correct CWL runner.
9890
This is convenient for environments with multiple CWL runners.
9991

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

10595
```{code-block} console
10696
:name: installing-cwlrunner-with-pip
107-
:caption: Installing `cwl-runner` with `pip`.
97+
:caption: Installing `cwl-runner` alias for cwltool with `pip`.
10898
109-
$ pip install cwl-runner
99+
$ pip install cwlref-runner
110100
```
111101

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-
115102
Now you can validate and run your workflow with `cwl-runner` executable,
116103
which will invoke `cwltool`. You should have the same results and output
117104
as in the previous section.
@@ -177,13 +164,13 @@ auto-complete:
177164
- cwl-plugin for IntelliJ - <https://plugins.jetbrains.com/plugin/10040-cwl-plugin>
178165

179166
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>
181168

182169
## Docker
183170

184171
% https://github.com/common-workflow-language/user_guide/issues/119
185172

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

0 commit comments

Comments
 (0)