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.14.0.tar.gz (171.8 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.14.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cwl2ogc-0.14.0.tar.gz
Algorithm Hash digest
SHA256 a554e4e5ae8286846faae410b9f41c31732d9686dae97fbb9d0fa92f4d31a0bc
MD5 d3e3ceaec62aa4f2810d4dc252bcf1d3
BLAKE2b-256 3bef97c86ed8c874145af60d76f8bde08be5f3c680f27d310c9555794b16b95f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cwl2ogc-0.14.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.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0bb461a6c2580e36ff94531dc6f4c6c4f67769fcb0ef95c39173d6e9200ef629
MD5 74895fadc63a47b6db930bff1f6ed7ae
BLAKE2b-256 fcc9f33f629b7599da1cda209c532f29cbe893845387b1fdb0b0ca59b6a994b4

See more details on using hashes here.

Provenance

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