Skip to main content

Common workflow language dependency manager

Project description

# Common Workflow Language dependency manager

This tool helps you to import tools and workflows from other sources for use in your own workflow.

# Setup
It is highly recommended to setup virtual environment before installing `cwldep`:

```
virtualenv -p python2 venv # Create a virtual environment, can use `python3` as well
source venv/bin/activate # Activate environment before installing `cwldep`
```

Install from source:
```
git clone https://github.com/common-workflow-language/cwldep.git # clone cwldep repo
cd cwldep # Switch to source directory
python setup.py install
cwldep -h # Check if the installation works correctly
```

# Adding file dependencies

```
cwldep add myfile.cwl https://raw.githubusercontent.com/common-workflow-language/workflows/master/tools/samtools-faidx.cwl
```

This will download the CWL file *and its dependencies* to `raw.githubusercontent.com/common-workflow-language/workflows/master/tools`

Include it in your workflow as a relative file reference:

```
steps:
step1:
in: ...
out: ...
run: raw.githubusercontent.com/common-workflow-language/workflows/master/tools/samtools-faidx.cwl
```

# Changing the install target

```
cwldep add --install-to samtools myfile.cwl https://raw.githubusercontent.com/common-workflow-language/workflows/master/tools/samtools-faidx.cwl
```

# Using archives

You can also import archives (.tar.gz, .tar.bz2, and .zip):

```
cwldep add myfile.cwl https://github.com/common-workflow-language/workflows/archive/draft2.tar.gz
```

This will download and extract to the local directory `github.com/common-workflow-language/workflows/archive`

# Using git upstream

You can also import git repositories:

```
cwldep add myfile.cwl https://github.com/common-workflow-language/workflows
```

This will clone into the local directory `github.com/common-workflow-language/workflows`

```
cwldep add --set-version=draft-2 myfile.cwl https://github.com/common-workflow-language/workflows
```

# Installing dependencies

This will install any dependencies listed in `myfile.cwl`

```
cwldep install myfile.cwl
```

# Checking if upstream dependencies have changed

This will report if the upstream dependencies listed in `myfile.cwl` have changed

```
cwldep check myfile.cwl
```

# Updating dependencies

This will install updated dependencies:

```
cwldep update myfile.cwl
```

# Deleting unreferenced dependencies

This will delete any dependencies listed in the ".dep.lock" file that are not referenced by `myfile.cwl`.

```
cwldep clean myfile.cwl
```


Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

cwldep-1.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file cwldep-1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cwldep-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9af635874ea0f0f6637f153448b7ee3c9a0048a76b7fa3f43ad56d6130891da4
MD5 4f0172c56cecda77072f202f4c903b14
BLAKE2b-256 e2203ccc6d9033ebaef057512c3f8d085ed95cb2fc89e408afc4536eb8d3ba32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page