CWL to CodeMeta

cwl2codemeta converts Schema.org metadata embedded at the document level of a CWL file into a CodeMeta 3.0 JSON-LD document.

The package is a Transpiler-Mate plugin, not a standalone command. Once it is installed alongside the Transpiler-Mate runtime, it is available as the cwl2codemeta subcommand:

transpiler-mate cwl2codemeta \
  --code-repository https://github.com/example/hello.git \
  --output codemeta.json \
  hello.cwl

The output uses the CodeMeta 3.0 context:

{
  "@context": "https://w3id.org/codemeta/3.0",
  "@type": "SoftwareSourceCode",
  "codeRepository": "https://github.com/example/hello.git",
  "targetProduct": {
    "@type": "SoftwareApplication",
    "name": "Hello tool",
    "softwareVersion": "1.0.0"
  }
}

The actual targetProduct contains all supported metadata supplied by the CWL document. GitHub and GitLab repository URLs also produce platform-specific project links.

Choose your path