CWL Worflow inputs/outputs to OGC API Processes inputs/outputs
Project description
cwl2ogc
cwl2ogc converts CWL workflow/tool inputs and outputs into:
- OGC API - Processes I/O descriptors
- JSON Schema documents for those I/O definitions
This is useful when publishing CWL-based application packages through OGC API - Processes interfaces.
Why
The OGC API - Processes Deploy/Replace/Undeploy workflow requires a process description that exposes valid input and output metadata. cwl2ogc helps generate that description directly from CWL definitions.
Installation
pip install cwl2ogc
Python 3.10+ is required.
Quick Start (CLI)
Generate a process descriptor from a CWL document:
cwl2ogc tests/artifacts/cwl-types/inp.cwl \
--workflow-id inp \
--output process.json
Show command help:
cwl2ogc --help
Quick Start (Python API)
from cwl_utils.parser import load_document_by_uri
from cwl2ogc import BaseCWLtypes2OGCConverter
workflow = load_document_by_uri("tests/artifacts/cwl-types/inp.cwl#inp")
converter = BaseCWLtypes2OGCConverter(workflow)
inputs = converter.get_inputs()
outputs = converter.get_outputs()
inputs_json_schema = converter.get_inputs_json_schema()
outputs_json_schema = converter.get_outputs_json_schema()
Playground
Requirements:
dockertask
Run the published playground image:
task run-playground
Build and run the local playground image:
task run-playground-dev
Open http://127.0.0.1.
Development
Install development tooling with Hatch and run checks:
hatch run test:test-q
hatch run dev:check
hatch run dev:lint
Equivalent Taskfile targets:
task test
task check
task lint
Documentation
Project docs: https://eoap.github.io/cwl2ogc/
CLI docs: docs/cli.md
Contributing
Issues and pull requests are welcome: https://github.com/eoap/cwl2ogc/issues
License
Apache-2.0. See LICENSE.
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 cwl2ogc-0.15.0.tar.gz.
File metadata
- Download URL: cwl2ogc-0.15.0.tar.gz
- Upload date:
- Size: 171.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f859b81aecadc94b348dbf1782b11cb3b2dad3c3916ff6a572166099c1592c8
|
|
| MD5 |
dd0917701147aef832cd024b6178c8fa
|
|
| BLAKE2b-256 |
51b3a0cf3d927b19100213cc306cf98edf87b92d8bcec9e9fe0286a144308992
|
Provenance
The following attestation bundles were made for cwl2ogc-0.15.0.tar.gz:
Publisher:
package.yaml on eoap/cwl2ogc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cwl2ogc-0.15.0.tar.gz -
Subject digest:
0f859b81aecadc94b348dbf1782b11cb3b2dad3c3916ff6a572166099c1592c8 - Sigstore transparency entry: 1253111838
- Sigstore integration time:
-
Permalink:
eoap/cwl2ogc@e47c86a84c907de93506fd63f6762a1c8fb418fe -
Branch / Tag:
refs/tags/v0.15.0 - Owner: https://github.com/eoap
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yaml@e47c86a84c907de93506fd63f6762a1c8fb418fe -
Trigger Event:
push
-
Statement type:
File details
Details for the file cwl2ogc-0.15.0-py3-none-any.whl.
File metadata
- Download URL: cwl2ogc-0.15.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83fa43968cb9743fa6199494daff79ca7aff4612df4e32dfa54bef3d51a0f0b4
|
|
| MD5 |
11077bbac4a0c5f0614c21076e0c37c0
|
|
| BLAKE2b-256 |
e691f9d1caecae0cd588ed79cc65f432698b746fa7cbd2ea46d929b437026126
|
Provenance
The following attestation bundles were made for cwl2ogc-0.15.0-py3-none-any.whl:
Publisher:
package.yaml on eoap/cwl2ogc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cwl2ogc-0.15.0-py3-none-any.whl -
Subject digest:
83fa43968cb9743fa6199494daff79ca7aff4612df4e32dfa54bef3d51a0f0b4 - Sigstore transparency entry: 1253111842
- Sigstore integration time:
-
Permalink:
eoap/cwl2ogc@e47c86a84c907de93506fd63f6762a1c8fb418fe -
Branch / Tag:
refs/tags/v0.15.0 - Owner: https://github.com/eoap
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yaml@e47c86a84c907de93506fd63f6762a1c8fb418fe -
Trigger Event:
push
-
Statement type: