Skip to main content
==================================================================
Common workflow language tool description reference implementation
==================================================================

CWL Conformance test: |Build Status|

This is the reference implementation of the Common Workflow Language. It is
intended to be feature complete and provide comprehensive validation of CWL
files as well as provide other tools related to working with CWL.

This is written and tested for Python 2.7.

The reference implementation consists of two packages. The "cwltool" package
is the primary Python module containing the reference implementation in the
"cwltool" module and console executable by the same name.

The "cwlref-runner" package is optional and provides an additional entry point
under the alias "cwl-runner", which is the implementation-agnostic name for the
default CWL interpreter installed on a host.

Install
-------

Installing the official package from PyPi (will install "cwltool" package as
well)::

pip install cwlref-runner

If installling alongside another CWL implementation then::

pip instal cwltool

To install from source::

git clone https://github.com/common-workflow-language/cwltool.git
cd cwltool && python setup.py install
cd cwlref-runner && python setup.py install # co-installing? skip this

Remember, if co-installing multiple CWL implementations then you need to
maintain which implementation ``cwl-runner`` points to via a symbolic file
system link or [another facility](https://wiki.debian.org/DebianAlternatives).

Run on the command line
-----------------------

Simple command::

cwl-runner [tool-or-workflow-description] [input-job-settings]

Or if you have multiple CWL implementations installed and you want to override
the default cwl-runner use::

cwltool [tool-or-workflow-description] [input-job-settings]

Import as a module
----------------

Add::

import cwltool

to your script.

Use with boot2docker
--------------------
boot2docker is running docker inside a virtual machine and it only mounts ``Users``
on it. The default behavoir of CWL is to create temporary directories under e.g.
``/Var`` which is not accessible to Docker containers.

To run CWL successfully with boot2docker you need to set the ``--tmpdir-prefix``
and ``--tmp-outdir-prefix`` to somewhere under ``/Users``::

$ cwl-runner --tmp-outdir-prefix=/Users/username/project --tmpdir-prefix=/Users/username/project wc-tool.cwl wc-job.json

.. |Build Status| image:: https://ci.commonwl.org/buildStatus/icon?job=cwltool-conformance
:target: https://ci.commonwl.org/job/cwltool-conformance/

Tool or workflow loading from remote or local locations
-------------------------------------------------------

``cwltool`` can run tool and workflow descriptions on both local and remote
systems via its support for HTTP[S] URLs.

Input job files and Workflow steps (via the `run` directive) can reference CWL
documents using absolute or relative local filesytem paths. If a relative path
is referenced and that document isn't found in the current directory then the
following locations will be searched:
http://www.commonwl.org/v1.0/CommandLineTool.html#Discovering_CWL_documents_on_a_local_filesystem

Release files for cwltool 1.0.20161114152756

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cwltool 1.0.20161114152756
File Size Uploaded
cwltool-1.0.20161114152756.tar.gz 215.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cwltool 1.0.20161114152756
File Interpreter ABI Platform
cwltool-1.0.20161114152756-py2-none-any.whl Python 2 none any Details

Total release size: 477.7 kB

Release files / cwltool-1.0.20161114152756.tar.gz

Download URL cwltool-1.0.20161114152756.tar.gz
Size 215.1 kB
Tags Source
SHA-256 checksum
How to use checksums
73a269be98985682a0ea5a3b606dc3feadcc529769baa28616b589a93254284d
BLAKE2b-256 checksum
How to use checksums
b216a2779217c5f7b728d1bc858facd6d3f8f88790b6f86a740c2f8a2b18dfc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / cwltool-1.0.20161114152756-py2-none-any.whl

Download URL cwltool-1.0.20161114152756-py2-none-any.whl
Size 262.6 kB
Tags Python 2
SHA-256 checksum
How to use checksums
8b2285fa1643ac6e963b7abd50d284c7ce0b8ac659f626306f69faf59476d753
BLAKE2b-256 checksum
How to use checksums
9b53df9603778244c6cfdc94fed8aaa55bdf66e9fc8e09b20b5ab43cff67743e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.20161114152756 This release

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page