EOAP CWL Wrap
eoap-cwlwrap
is a command-line utility that composes a CWL Workflow
from a series of Workflow
/CommandLineTool
steps, defined according to Application package patterns based on data stage-in and stage-out behaviors commonly used in EO workflows, and packs it into a single self-contained CWL document.
๐ Installation
pip install eoap-cwlwrap
or, for early adopters:
pip install --no-cache-dir git+https://github.com/EOEPCA/eoap-cwlwrap@main
๐ง Prerequisites
stage-in
stage-out
app
Inputs:
- has one or more parameter of type Directory or File, that:
- it can be nullable
?
; - it can be an array
[]
.
- it can be nullable
Outputs:
- has one or more parameter of type Directory
- it can be an array
[]
.
- it can be an array
main
inputs
coming fromapp
:outpus
coming fromapp
:
๐ Features
- ๐งฑ Chain multiple
Workflow
/CommandLineTool
CWLs into aWorkflow
; - ๐งช Validate type compatibility between steps;
- ๐ฆ Pack the entire workflow and dependencies into one file;
- ๐พ Output to any location, with automatic directory creation.
๐งโ๐ป Usage
eoap-cwlwrap \
--stage-in ./stage-in.cwl \
--workflow ./workflow.cwl \
--workflow-id water-bodies-detection \
--stage-out ./stage-out.cwl \
--output ./current.cwl
๐ง Options
Option | Description |
---|---|
--directory-stage-in |
The CWL stage-in URL or file for Directory derived types |
--file-stage-in |
The CWL stage-in URL or file for File derived types |
--workflow |
The CWL workflow URL or file |
--workflow-id |
ID of the workflow |
--stage-out |
`The CWL stage-out URL or file |
--output" |
The output file path |
๐ง Requirements
- Python โฅ 3.9
Dependendies
Package installation will automatically install the following dependencies:
Using the container
docker run -it --rm ghcr.io/eoepca/eoap-cwlwrap/eoap-cwlwrap:latest eoap-cwlwrap --help
Run the tests
hatch test --verbose