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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cwl2ogc-0.13.0.tar.gz
Algorithm Hash digest
SHA256 d1d4a41f0066cde75adcf365c70d568d7384f40c6aabe68bbd1c587cdf601d7d
MD5 4e69508120cd7b4732ac8128e34418db
BLAKE2b-256 c985caf3151dcc3b3dc1745359819daaabc0ba11f5b31536025fe23b111b160d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cwl2ogc-0.13.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.7

File hashes

Hashes for cwl2ogc-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62a95b308653a1e7435c26688db913bcbd5f4f5af58a9befbf97e0611308ed80
MD5 794c767c053ed4ec9f4e879b58472158
BLAKE2b-256 cf87e4da547d54de49eadec6fb6e2d3f13ef3a9b5d6fb1c8f9ce581617c3159a

See more details on using hashes here.

Provenance

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