Skip to main content

Utility to load a CWL (remote) document

Project description

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.

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

License

Licensed under the Apache License 2.0.

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

cwl_loader-0.20.0.tar.gz (105.4 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.20.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cwl_loader-0.20.0.tar.gz
Algorithm Hash digest
SHA256 a6a0ad438572f2b823d2de4442c86a2776f4dd4c565c008da95120f608798143
MD5 fabf45e1b441bab7d7f351506a6e14f7
BLAKE2b-256 a52394a576fbf5b21b3d6d8f25ab9b6f38de01f1d1e64f42af8522ad435ac0b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cwl_loader-0.20.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.20.0-py3-none-any.whl.

File metadata

  • Download URL: cwl_loader-0.20.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cwl_loader-0.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4447d7eb126f3eb281e181fee3737a293840f1063efc423124afa9f70c32c5f3
MD5 aa472465a90982d92c8a99669bc38f54
BLAKE2b-256 e06c1b399b3e23ac114d485be50e8041d792b1854b918c991f66d5ae9b341c48

See more details on using hashes here.

Provenance

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

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