skillfed

cwl-upgrader

Upgrade a CWL tool or workflow document from one version to another

cwl-upgrader v1.2.15 211.6K downloads/30d#9,479 on PyPI7
Permissive license Apache 2.0 Active released

What it is and what it does

cwl-upgrader is a specialized tool for migrating Common Workflow Language documents to version 1.2 from earlier versions (draft-3, v1.0, v1.1). It operates as both a command-line utility and a Python library, reading older CWL documents and transforming them to the v1.2 specification. The package does not validate the correctness of input documents—that responsibility falls to external tools like cwltool—but focuses solely on the mechanical upgrade process.

The package depends on ruamel.yaml for YAML parsing and schema_salad for schema handling, both lightweight and well-maintained dependencies. It is actively maintained, supports modern Python versions (3.10–3.14), and carries an Apache 2.0 license. With low install friction and no known security vulnerabilities, it integrates cleanly into workflows that need to modernize legacy CWL documents as part of a larger pipeline or automation system.

Use it for:

  • Migrate a collection of older CWL tool definitions to v1.2 before deploying to a modern workflow execution platform.
  • Automate bulk upgrades of draft-3 or v1.0 workflows in a CI/CD pipeline as part of a codebase modernization effort.
  • Convert inherited CWL documents from external sources to a standardized v1.2 format for internal consistency.
  • Programmatically upgrade workflow documents within a Python application that manages or orchestrates CWL execution.
  • Prepare legacy workflows for use with current CWL reference implementations or execution engines that require v1.2.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Upgrades Common Workflow Language documents from draft-3, v1.0, and v1.1 to v1.2 via command-line tool or programmatic API.

Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and solves a specific, well-defined problem for anyone working with older Common Workflow Language documents. Install it if you need to upgrade CWL documents from draft-3, v1.0, or v1.1 to v1.2; skip it if you work only with v1.2 or later documents.

Install

cwl-upgrader on PyPI

pip

pip install cwl-upgrader

uv

uv add cwl-upgrader

poetry

poetry add cwl-upgrader

Installing cwl-upgrader

Before you install

Low friction: pure Python wheel with only two runtime dependencies (ruamel.yaml and schema_salad). Active maintenance with recent releases; last commit 2026-08-03. Supports Python 3.10 through 3.14.

License in practice

Apache 2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most integration scenarios.

Quickstart

pip install cwl-upgrader

from cwl_upgrader import upgrade_document

upgraded = upgrade_document('path/to/old-workflow.cwl')

# Or via command line:
# cwl-upgrader path-to-cwl-document

Requires Python 3.10 or later.

Verify before relying

  • Whether the package handles all edge cases in draft-3, v1.0, and v1.1 documents or has known limitations.
  • Performance characteristics when upgrading large or complex workflow documents.
  • Availability and completeness of programmatic API documentation beyond command-line usage.

Package facts

License Apache 2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 2 — ruamel.yaml, schema_salad
Maintenance actively maintained — 136 days since the last release
Last repo commit
First released
Downloads 211,570/month — #9,479 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: cwl_upgrader-1.2.15-py3-none-any.whl

Keywords: cwl, commonwl, common-workflow-language

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: File FormatsTopic :: Software Development :: LibrariesTyping :: Typed

Tags

cwl document upgradercommon workflow language migrationcwl version upgrade toolworkflow document convertercwl draft to v1.2workflow language modernizationcwl schema migration
workflow-automationschema-migrationcli-tool

More Libraries packages