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.18.0.tar.gz (170.7 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.18.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cwl2ogc-0.18.0.tar.gz
Algorithm Hash digest
SHA256 50fdf0c39674d5ea6a9271fab72f28e7737b556a6d6fbb179845ada1d888f06a
MD5 24fff2b75207045347c4bc715d217628
BLAKE2b-256 ec21f93d778c9aca78a9ffc6f8d8c573b013eac3450cf72212af6db693b1f7c1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cwl2ogc-0.18.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 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.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eee1bdaea97ab7baee74fd97576f5009c7a43e60740eb7c2178029b26006dc10
MD5 eeaa78087f2bdefdb721492caa476253
BLAKE2b-256 ce415269eb466c28af13f5ef4dba6344871c02998012587d1b5ec2e2e119b97f

See more details on using hashes here.

Provenance

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