Skip to main content

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:

  • docker
  • task

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


Download files

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

Source Distribution

cwl2ogc-0.15.0.tar.gz (171.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cwl2ogc-0.15.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for cwl2ogc-0.15.0.tar.gz
Algorithm Hash digest
SHA256 0f859b81aecadc94b348dbf1782b11cb3b2dad3c3916ff6a572166099c1592c8
MD5 dd0917701147aef832cd024b6178c8fa
BLAKE2b-256 51b3a0cf3d927b19100213cc306cf98edf87b92d8bcec9e9fe0286a144308992

See more details on using hashes here.

Provenance

The following attestation bundles were made for cwl2ogc-0.15.0.tar.gz:

Publisher: package.yaml on eoap/cwl2ogc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for cwl2ogc-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83fa43968cb9743fa6199494daff79ca7aff4612df4e32dfa54bef3d51a0f0b4
MD5 11077bbac4a0c5f0614c21076e0c37c0
BLAKE2b-256 e691f9d1caecae0cd588ed79cc65f432698b746fa7cbd2ea46d929b437026126

See more details on using hashes here.

Provenance

The following attestation bundles were made for cwl2ogc-0.15.0-py3-none-any.whl:

Publisher: package.yaml on eoap/cwl2ogc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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