Skip to main content

cwl-loader

PyPI - Version PyPI - Python Version

cwl-loader provides utilities to load CWL documents (local files, URLs, streams, or strings) into cwl-utils object models, normalize references, and sort dependency graphs.

[!IMPORTANT] The cwl-loader bundle CLI has moved to Transpiler Mate. This package continues to provide the Python API for loading and serializing CWL documents.

Installation

pip install cwl-loader

Quick Start

Load a CWL document from a URL or local path:

from cwl_loader import load_cwl_from_location

process = load_cwl_from_location("workflow.cwl")

Load from in-memory text:

from cwl_loader import load_cwl_from_string_content

content = """
cwlVersion: v1.2
class: CommandLineTool
id: example-tool
baseCommand: echo
inputs: []
outputs: []
"""

process = load_cwl_from_string_content(content)

Dump back to YAML:

from cwl_loader import dump_cwl

with open("normalized.cwl", "w", encoding="utf-8") as out:
    dump_cwl(process, out)

Development

Run tests:

task test

Or directly with Hatch:

hatch run test:test

Run code quality checks:

task check
task lint

Documentation

Project documentation is published at: https://Terradue.github.io/cwl-loader/

Contributing

Issues and pull requests are welcome: https://github.com/eoap/cwl-loader/issues

Local quality checks

Install Hatch and Taskfiles then install the Git hook:

task quality:pre-commit:install

Every commit runs Ruff (including the configured McCabe complexity limit), Ruff formatting, strict mypy checks, and the pytest suite. Run the complete hook explicitly with:

task quality:pre-commit:run

License

Apache License, Version 2.0

Download files

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

Source Distribution

cwl_loader-0.25.0.tar.gz (106.7 kB view details)

Uploaded Source

Built Distribution

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

cwl_loader-0.25.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file cwl_loader-0.25.0.tar.gz.

File metadata

  • Download URL: cwl_loader-0.25.0.tar.gz
  • Upload date:
  • Size: 106.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cwl_loader-0.25.0.tar.gz
Algorithm Hash digest
SHA256 900f51c3f2dc4333d2ef376ae168564e19a49d8df6f6ee473bf4423cca288d91
MD5 046d9184dc6848e4ce3dff8e0cbb832c
BLAKE2b-256 5afede64da779c63abe44861ee665ae0298bb12318df9f2fc970c266a07a2732

See more details on using hashes here.

Provenance

The following attestation bundles were made for cwl_loader-0.25.0.tar.gz:

Publisher: package.yaml on Terradue/cwl-loader

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

File details

Details for the file cwl_loader-0.25.0-py3-none-any.whl.

File metadata

  • Download URL: cwl_loader-0.25.0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cwl_loader-0.25.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90c9034bf2f19a6cae1e6b2b2c43dba11783b4158814a3c2245719b8881ca171
MD5 f9d06b19db15498cbdf77d4d0f4e70ba
BLAKE2b-256 238709b3470174b6110d249c2ed4381b20df8c7717123c65ea6734a22c709adc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cwl_loader-0.25.0-py3-none-any.whl:

Publisher: package.yaml on Terradue/cwl-loader

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

Release history Release notifications | RSS feed

This release

0.25.0 This release

2 files

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page