Metadata-Version: 2.1
Name: wes-service
Version: 3.2
Summary: GA4GH Workflow Execution Service reference implementation
Home-page: https://github.com/common-workflow-language/cwltool-service
Author: GA4GH Containers and Workflows task team
Author-email: common-workflow-language@googlegroups.com
License: Apache 2.0
Download-URL: https://github.com/common-workflow-language/cwltool-service
Platform: UNKNOWN
Requires-Dist: future
Requires-Dist: connexion (==1.4.2)
Requires-Dist: ruamel.yaml (<=0.15.77,>=0.12.4)
Requires-Dist: schema-salad
Requires-Dist: subprocess32 (==3.5.2)
Provides-Extra: arvados
Requires-Dist: arvados-cwl-runner ; extra == 'arvados'
Provides-Extra: cwltool
Requires-Dist: cwlref-runner ; extra == 'cwltool'
Provides-Extra: toil
Requires-Dist: toil[all] (==3.18.0) ; extra == 'toil'

Workflow as a Service
=====================

This provides client and server implementations of the `GA4GH Workflow
Execution
Service <https://github.com/ga4gh/workflow-execution-schemas>`__ API for
the Common Workflow Language.

It provides an `Arvados <https://github.com/curoverse/arvados>`__
backend. It also works with any ``cwl-runner`` that supports the CWL
standard command line interface:
http://www.commonwl.org/v1.0/CommandLineTool.html#Executing\_CWL\_documents\_as\_scripts

Installation:

::

    pip install wes-service

Run a standalone server with default ``cwl-runner`` backend:

::

    $ wes-server

Submit a workflow to run:

::

    $ wes-client --host=localhost:8080 myworkflow.cwl myjob.json

List workflows:

::

    $ wes-client --list

Get workflow status:

::

    $ wes-client --get <workflow-id>

Get stderr log from workflow:

::

    $ wes-client --log <workflow-id>

Server Options
==============

Run a standalone server with Arvados backend:
---------------------------------------------

::

    $ wes-server --backend=wes_service.arvados_wes

Use a different executable with cwl\_runner backend
---------------------------------------------------

::

    $ wes-server --backend=wes_service.cwl_runner --opt runner=cwltoil

Pass parameters to cwl-runner
-----------------------------

::

    $ wes-server --backend=wes_service.cwl_runner --opt extra=--workDir=/

Client environment options
==========================

Set service endpoint:

::

    $ export WES_API_HOST=localhost:8080

Set the value to pass in the ``Authorization`` header:

::

    $ export WES_API_AUTH=my_api_token

Set the protocol (one of http, https)

::

    $ export WES_API_PROTO=http


