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.17.0.tar.gz (172.2 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.17.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file cwl2ogc-0.17.0.tar.gz.

File metadata

  • Download URL: cwl2ogc-0.17.0.tar.gz
  • Upload date:
  • Size: 172.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cwl2ogc-0.17.0.tar.gz
Algorithm Hash digest
SHA256 9181b97b1101cfb4cb2678b517978270e7e09ff2665b05d3286ca97b3312d7f3
MD5 04bb8494aa3b83c51737f9da119cc9c3
BLAKE2b-256 f91ab809571cea468cb663b6490a91aaedbe245098f3f728ee7ae0b70a46732d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cwl2ogc-0.17.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.17.0-py3-none-any.whl.

File metadata

  • Download URL: cwl2ogc-0.17.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 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.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59ee29384fd61421880b43c4dac0caf9f39b3ff559ac19200e27f9942e6c2c21
MD5 a0ab6b12f495385c893b20b78b0c6113
BLAKE2b-256 39fade1b71cd339a07eca3f5e521fb001ef497b0d9ddc69ba254e9b8aa013ca1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cwl2ogc-0.17.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