https://github.com/common-workflow-language/workflow-service

Implementation of the GA4GH Workflow Execution Service, a REST service for running workflows

https://github.com/common-workflow-language/workflow-service

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 15 committers (13.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

python

Keywords from Contributors

cwl common-workflow-language wdl workflows bioinformatics commonwl genomics sciworkflows sequences mesos
Last synced: 6 months ago · JSON representation

Repository

Implementation of the GA4GH Workflow Execution Service, a REST service for running workflows

Basic Info
  • Host: GitHub
  • Owner: common-workflow-language
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 363 KB
Statistics
  • Stars: 36
  • Watchers: 12
  • Forks: 22
  • Open Issues: 28
  • Releases: 11
Topics
python
Created over 10 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

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

Owner

  • Name: Common Workflow Language
  • Login: common-workflow-language
  • Kind: organization

GitHub Events

Total
  • Create event: 9
  • Release event: 1
  • Issues event: 3
  • Delete event: 7
  • Member event: 1
  • Issue comment event: 15
  • Push event: 23
  • Pull request event: 16
  • Pull request review event: 2
  • Fork event: 1
Last Year
  • Create event: 9
  • Release event: 1
  • Issues event: 3
  • Delete event: 7
  • Member event: 1
  • Issue comment event: 15
  • Push event: 23
  • Pull request event: 16
  • Pull request review event: 2
  • Fork event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 279
  • Total Committers: 15
  • Avg Commits per committer: 18.6
  • Development Distribution Score (DDS): 0.781
Past Year
  • Commits: 24
  • Committers: 4
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.292
Top Committers
Name Email Commits
DailyDreaming l****l@u****u 61
Peter Amstutz p****z@v****m 61
Michael R. Crusoe m****e@g****m 54
Peter Amstutz p****z@c****m 31
David Steinberg d****d@r****m 19
Abraham Chavez a****1@u****u 13
Ben Van de Brooke b****3@g****m 10
James Eddy j****y@g****m 10
Gijs Molenaar g****s@p****l 6
dependabot[bot] 4****] 6
dependabot-preview[bot] 2****] 2
snyk-bot s****t@s****o 2
Peter Amstutz t****n@w****m 2
Peter Amstutz t****n@i****g 1
stxue1 1****1 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 22
  • Total pull requests: 91
  • Average time to close issues: 5 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 10
  • Total pull request authors: 14
  • Average comments per issue: 1.36
  • Average comments per pull request: 0.95
  • Merged pull requests: 40
  • Bot issues: 1
  • Bot pull requests: 50
Past Year
  • Issues: 3
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 15 days
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 1.0
  • Average comments per pull request: 1.25
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 7
Top Authors
Issue Authors
  • david4096 (6)
  • golharam (5)
  • achave11-ucsc (2)
  • jaeddy (2)
  • gijzelaerr (2)
  • mr-c (1)
  • w-gao (1)
  • adamnovak (1)
  • dependabot-preview[bot] (1)
  • DailyDreaming (1)
Pull Request Authors
  • dependabot[bot] (31)
  • dependabot-preview[bot] (28)
  • tetron (11)
  • mr-c (8)
  • DailyDreaming (7)
  • thomasyu888 (3)
  • snyk-bot (3)
  • gijzelaerr (3)
  • stxue1 (2)
  • bencvdb (2)
  • achave11-ucsc (2)
  • jyotsnapagid (1)
  • chapmanb (1)
  • jaeddy (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
dependencies (59) python (15)

Dependencies

dev-requirements.txt pypi
  • black * development
  • build * development
  • flake8 * development
  • pytest * development
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/init v1 composite
Dockerfile docker
  • debian buster build
.github/workflows/ci-tests.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codecov/codecov-action v5 composite
lint-requirements.txt pypi
  • black *
  • codespell *
  • flake8-bugbear <24.13
  • isort >=5
mypy-requirements.txt pypi
  • arvados-cwl-runner *
  • mypy ==1.15
  • types-PyYAML *
  • types-requests *
  • types-setuptools *
pyproject.toml pypi
  • connexion [swagger-ui] >= 2.0.2, < 3
  • ruamel.yaml >= 0.15.78
  • schema-salad *
requirements.txt pypi
  • schema-salad *
test-requirements.txt pypi
  • pytest * test
  • pytest-cov * test