Skip to main content

CWL 2 RO-Crate

PyPI - Version PyPI - Python Version GitHub Actions Workflow Status Code coverage

Package a selected CWL workflow as a Workflow RO-Crate, or provide a CWLProv execution directory to create a Provenance Run Crate. The plugin runs through Transpiler-Mate and never executes the supplied workflow.

Install

From this repository, using Python 3.10 or newer:

python -m pip install . transpiler-mate-runtime
transpiler-mate cwl2rocrate --help

Distribution: cwl2ro-crate; Python package: cwl2ro_crate; plugin command: cwl2rocrate. There is no standalone executable.

Package a workflow

transpiler-mate cwl2rocrate --output build/crate 'workflow.cwl#main'

The runtime requires Schema.org SoftwareApplication metadata in the source. Select an actual Workflow with #<process-id>. The output contains ro-crate-metadata.json and workflow.cwl, packed with the selected entrypoint renamed to #main and its referenced tools/subworkflows included.

Additional files and a ZIP are optional:

transpiler-mate cwl2rocrate --output build/crate --zip \
  --attach inputs.yaml --attach diagram.svg 'workflow.cwl#main'

Attachments are copied under attachments/. --zip additionally writes build/crate.zip with crate files at the archive root.

Package an execution

First capture provenance during an actual execution, using your normal runner settings:

cwltool --provenance run.provenance 'workflow.cwl#main' inputs.yaml
transpiler-mate cwl2rocrate --run run.provenance \
  --output build/run-crate --zip 'workflow.cwl#main'

--run accepts a local CWLProv directory, not cwltool output JSON. The plugin verifies the BagIt checksums and conservatively compares the selected executable workflow with workflow/packed.cwl before converting the run. Execution records and recorded payloads come from CWLProv; the supplied software metadata fills missing descriptive fields. It does not invent execution status or timestamps.

Profiles and validation

  • Base: RO-Crate 1.1.
  • Workflow mode: Workflow RO-Crate 1.0.
  • Run mode: Process, Workflow, and Provenance Run Crate 0.5, plus Workflow RO-Crate 1.0.

Every result must pass the bundled roc-validator profiles at REQUIRED level before it reaches the destination. This is not a claim that every recommended or optional requirement is met. Validation resolves official JSON-LD contexts and may require network access; its cache follows the validator's defaults.

Existing destinations (including empty directories and symlinks) are rejected. Generation and validation use a temporary staging directory; failures clean it up. The final copy is not an atomic directory transaction, but ordinary copy/ZIP failures roll back files created by the plugin.

Container images and external data referenced by the CWL are not downloaded. Run conversion copies the data included in the CWLProv bag, which can be large. Unsupported CWLProv structures or uncertain workflow matches fail explicitly.

Development

Bootstrapped with transpiler-mate-plugin-project-template. See CONTRIBUTING.md, the tutorial, and architecture.

The Apache-licensed runcrate conversion subset is included to avoid its released package's incompatible cwl-utils==0.40 pin. See THIRD_PARTY.md.

License

Apache License, Version 2.0

Metadata

Release files for cwl2ro-crate 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cwl2ro-crate 0.1.1
File Size Uploaded
cwl2ro_crate-0.1.1.tar.gz 30.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cwl2ro-crate 0.1.1
File Interpreter ABI Platform
cwl2ro_crate-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 58.7 kB

Release files / cwl2ro_crate-0.1.1.tar.gz

Download URL cwl2ro_crate-0.1.1.tar.gz
Size 30.4 kB
Tags Source
SHA-256 checksum
How to use checksums
84c18b846309f3ab98ce294656d33b34fbe548ae1154d2b097dc71f3f262f082
BLAKE2b-256 checksum
How to use checksums
1ddb1fd3d0fb23f047010d5ddb019bb853f79341387f000774b9b52d81061e01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / cwl2ro_crate-0.1.1-py3-none-any.whl

Download URL cwl2ro_crate-0.1.1-py3-none-any.whl
Size 28.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
102ff0248972e3a3f2abe7e0c6f7d23acaca58d56d752096739dafc8c8dbe968
BLAKE2b-256 checksum
How to use checksums
e5adf699b1e3d3d3fda48d81f62117e66f1b96d49788b87890c50aeb418879f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release 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