Registry / workflow / cwl-upgrader

cwl-upgrader

JSON →
library1.2.15pypypiunverified

cwl-upgrader is a Python library and command-line tool designed to upgrade Common Workflow Language (CWL) documents. It supports upgrading CWL tools and workflows from older versions (draft-3, v1.0, v1.1) to the current v1.2 specification. The library focuses solely on syntax migration and does not perform validation of the document's correctness. It is actively maintained with frequent patch releases, often driven by dependency updates and Python version support.

pip install cwl-upgrader
INSTALL
IMPORT
SIG · CWL-UPGRADER
C
cwl-upgrader
workflowpythonv1.2.15
Install
4.8s avg
Import
Disk
46MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.2.15 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 48.5MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 4.8s · import 0.000s · 49MB
46MB installed
● package 46MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

cwl-upgrader
cwl-upgrader --help
cwl-upgrader is primarily a command-line tool. Direct programmatic import of a public API for upgrading CWL documents is not the primary interface; users typically invoke the 'cwl-upgrader' executable.

The cwl-upgrader tool is primarily used from the command line. This quickstart demonstrates how to create a simple CWL v1.0 `CommandLineTool` and then upgrade it to v1.2 using the `cwl-upgrader` executable. The output is redirected to a new file.

# Create a sample CWL v1.0 CommandLineTool cat <<EOF > my_tool_v1_0.cwl cwlVersion: v1.0 class: CommandLineTool baseCommand: echo inputs: message: type: string inputBinding: position: 1 outputs: output_file: type: File outputBinding: glob: output.txt EOF # Upgrade the CWL document to v1.2 cwl-upgrader my_tool_v1_0.cwl > my_tool_v1_2.cwl # Verify the upgraded file cat my_tool_v1_2.cwl
cwl-upgrader --version
Debug
Known issues
breakingSupport for older Python versions has been progressively dropped. Ensure your environment uses Python 3.10 or newer.
fix
Upgrade your Python environment to 3.10, 3.11, 3.12, 3.13, or 3.14.
affects: >=1.2.9 (drops Python 3.6, 3.7); >=1.2.12 (drops Python 3.8); >=1.2.14 (drops Python 3.9)
gotchacwl-upgrader performs syntax upgrades but does not validate the semantic correctness of the CWL document. Always validate your upgraded documents using a CWL reference implementation like `cwltool --validate` after upgrading.
fix
Run `cwltool --validate your_upgraded_document.cwl` after using `cwl-upgrader` to ensure the document is valid.
affects: All versions
gotchaDocuments written in the legacy 'sbg:draft-2' format are not supported by cwl-upgrader. A separate tool, `sevenbridges-cwl-draft2-upgrader`, is required for these older documents.
fix
For 'sbg:draft-2' documents, use `pip install sevenbridges-cwl-draft2-upgrader` and then use the `sbg_cwl_upgrader` command.
affects: All versions
breakingCWL v1.2 introduces stricter rules and clarifications that might cause previously working (but non-standard) constructs to fail validation. For example, absolute paths starting with '/' for `InitialWorkDirRequirement` are only permitted in CWL 1.2 and later, and `loadContents` has a 64KiB size limit.
fix
Review the CWL v1.2 specification changelog and adjust documents to conform to new requirements. Use `cwltool --validate` to pinpoint specific issues.
affects: All versions when upgrading to v1.2
Upgrade
Version history
1.2.15latest on PyPI · released Mar 31, 2026
Audit
Dependencies
pythonrequiredRequires Python 3.10 or newer, dropping support for older versions in recent releases.
ruamel.yamlrequiredCore dependency for YAML parsing and manipulation.
schema-saladrequiredUsed internally for schema parsing and validation logic in the CWL ecosystem.
Agent activity
15 hits · last 30 days
node
12
Bingbot
1
OpenAI (training)
1
Resources
cwl-upgrader — pip install cwl-upgrader · libregistry