GA4GH Workflow Execution Service reference implementation
Project description
Workflow as a Service
This is a client and server implementation of the GA4GH Workflow Execution Service 1.0.0 API.
It provides Arvados and Toil backends. 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
Usage
Client configuration
Command line parameter or environment variable.
--host or WES_API_HOST
The host to contact.
--proto or WES_API_PROTO
The protocol (http or https) to use.
--auth or WES_API_AUTH
Credentials. Format is 'Header: value' or just 'value'. If header name is not provided, value goes in the 'Authorization'.
Get service info
$ wes-client --info
Submit a workflow to run:
Attachments must be accessible from the filesystem. Workflow runners may also support http URLs or other storage systems.
$ wes-client --host localhost:8080 --proto http \
--attachments="testdata/dockstore-tool-md5sum.cwl,testdata/md5sum.input" \
testdata/md5sum.cwl testdata/md5sum.cwl.json
List workflows
$ wes-client --list
Get workflow status
$ wes-client --get <run-id>
Get stderr log from workflow:
$ wes-client --log <run-id>
Server Configuration
Run a standalone server with default cwl-runner backend:
$ wes-server
Run a standalone server with Arvados backend:
$ pip install arvados-cwl-runner
$ wes-server --backend=wes_service.arvados_wes
Run a standalone server with Toil backend:
$ pip install toil[all]
$ wes-server --backend=wes_service.toil_wes --opt extra=--clean=never
Use alternate executable with cwl-runner backend
$ pip install cwltool
$ wes-server --backend=wes_service.cwl_runner --opt runner=cwltool --opt extra=--debug
Pass parameters to cwl-runner
Use "--opt" following by "key=value"
$ wes-server --backend=wes_service.cwl_runner --opt extra=--workDir=/tmp/work
Development
If you would like to develop against workflow-service make sure you pass the provided test and it is flake8 compliant
Install from Source
$ virtualenv venv && source venv/bin/activate && pip install toil[all] && pip install . --process-dependency-links && pip install -r dev-requirements.txt
Running Tests
From path workflow-service run
$ pytest && flake8
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wes_service-5.0.tar.gz.
File metadata
- Download URL: wes_service-5.0.tar.gz
- Upload date:
- Size: 32.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38a3132d2600c5358175c2435c8a8c3a1454d9b14a3ebbef8275ac697778e95f
|
|
| MD5 |
cd6d490fed30c3a51bb59bd586d08739
|
|
| BLAKE2b-256 |
e179a4a8d4f26613517c8571c132d3df83791f23e4169a8d12cc806f6b455a73
|
File details
Details for the file wes_service-5.0-py3-none-any.whl.
File metadata
- Download URL: wes_service-5.0-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74ad1907d4a514539069a5023edea590488a71224608e282f856cdcfaf7756e3
|
|
| MD5 |
93f04f83b72211f8fd6dce0e27e74b01
|
|
| BLAKE2b-256 |
c1775626535f4dc9ecc6ba8c7e151bb7e347bf70609887fb8fa480bb806ce955
|