{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/7"},{"label":"Scientific/Engineering","url":"https://skillfed.io/packages/category/scientific-engineering/5"},{"label":"Information Analysis","url":"https://skillfed.io/packages/category/scientific-engineering-information-analysis/2"},{"label":"Distributed Computing","url":"https://skillfed.io/packages/category/system-distributed-computing/2"},{"label":"File Formats","url":"https://skillfed.io/packages/category/file-formats"}],"enrichment":{"capability":"Loads, parses, and manipulates Common Workflow Language (CWL) documents across versions 1.0, 1.1, and 1.2, providing autogenerated typed classes and CLI utilities for workflow introspection and transformation.","skillfed_tags":["workflow-automation","cwl","bioinformatics"],"use_cases":["Pre-pull or cache all Docker/Singularity container images referenced in a CWL workflow before execution.","Extract and list all software packages and versions declared in a workflow for dependency tracking or citation.","Refactor CWL documents that use inline JavaScript expressions into separate ExpressionTools for engines that don't support inline evaluation.","Split a packed (single-file) CWL document into separate files for version control or modular editing.","Normalize heterogeneous CWL documents to a canonical JSON format with all dependencies bundled and versions upgraded to v1.2.","Generate JSON Schema definitions for workflow input parameters to validate or document workflow interfaces."],"what_it_does":"cwl-utils is a Python library and CLI toolkit for working with Common Workflow Language documents. It provides autogenerated typed Python classes for loading and parsing CWL v1.0, v1.1, and v1.2 files, plus a suite of command-line tools for common workflow manipulation tasks: extracting container images for pre-pulling, listing software requirements, refactoring inline expressions into separate steps, splitting packed CWL documents, packing workflows into single files, normalizing documents to a canonical form, and generating JSON schemas for workflow inputs.\n\nThe library depends on schema-salad for schema handling, ruamel-yaml for YAML parsing, rdflib for RDF support, and several other utilities. It is actively maintained, supports modern Python versions, and carries no known security vulnerabilities. The package is well-suited for developers building CWL workflow management tools, CI/CD integrations, or automation that needs to inspect or transform workflow definitions programmatically.","worth_installing":"Yes. The package is actively maintained, has low install friction, no security vulnerabilities, and a permissive license. It fills a clear need for developers working with CWL workflows at scale. Install if you need to parse, validate, transform, or introspect CWL documents programmatically or via CLI."},"id":"cwl-utils","links":{"html":"https://skillfed.io/packages/cwl-utils","md":"https://skillfed.io/packages/cwl-utils.md","pypi":"https://pypi.org/project/cwl-utils/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-08-14","license_spdx":null,"license_treatment":"permissive","name":"cwl-utils","python_support":"supports_current","summary":null},"popularity":{"monthly_downloads":230155,"position":9116,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.43"}
