--- id: cwltest version: "2.7.20260814150058" license: Apache 2.0 license_treatment: permissive maintenance: active --- # cwltest — Common Workflow Language testing framework License: permissive · Maintenance: active · Downloads: 120.3K/mo ## What it is and what it does cwltest is a testing framework for validating Common Workflow Language (CWL) tools and workflows. It reads test case definitions from YAML files, executes them against a CWL runner, and compares the actual outputs to expected results. The package is used to run the official CWL conformance test suite and can generate JSON badge data for displaying test results. The tool integrates with pytest and supports custom file access modules, allowing you to test CWL implementations that write outputs to remote storage systems rather than local filesystems. It runs on the command line and can be extended by implementing alternate storage backends through Python entry points. Use it for: - Run CWL conformance tests to verify a workflow engine's compliance with the CWL specification. - Validate custom CWL tools and workflows before deploying them to production pipelines. - Generate conformance badges showing test pass rates for documentation or CI/CD dashboards. - Test CWL implementations that use non-local storage (cloud buckets, remote filesystems) via custom fsaccess modules. - Integrate CWL validation into continuous integration pipelines to catch workflow regressions. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. cwltest validates the output of Common Workflow Language tools and workflows by running test cases defined in YAML and comparing results against expected outputs. Yes. cwltest is actively maintained, has no known vulnerabilities, installs with minimal friction, and is the standard testing tool for CWL workflows. Install it if you develop, validate, or run Common Workflow Language tools or need to verify CWL engine compliance. ## Install pip install cwltest uv add cwltest poetry add cwltest ## Installing cwltest Before you install: Low friction install with only two runtime dependencies (schema-salad and junit-xml). Actively maintained with a release on 2026-08-14 and support for current Python versions (3.10 through 3.15). License in practice: Licensed under Apache 2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects. Quickstart: pip install cwltest from cwltest import main # Or use the command-line interface: # cwltest --test test-descriptions.yml --tool cwl-runner Requires Python 3.10 or later (up to 3.15); CWL tools and a test description YAML file are needed to run actual tests. Verify before relying: - Whether the package includes built-in test suites or examples beyond the conformance tests mentioned. - Performance characteristics when running large numbers of test cases or complex workflows. - Compatibility with specific CWL implementations beyond the generic cwl-runner reference. ## Package facts - License: Apache 2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 120.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags cwl workflow testing, common workflow language validator, cwl conformance testing, workflow output verification, cwl test runner, bioinformatics workflow testing, cwl tool validation, workflow-testing, cwl, bioinformatics [View on SkillFed](https://skillfed.io/packages/cwltest) · [View on PyPI](https://pypi.org/project/cwltest/)