Skip to content

ccwl 0.3.0

Latest
Compare
Choose a tag to compare
@arunisaac arunisaac released this 26 Jan 15:56
· 14 commits to main since this release
v0.3.0
f113874

Changes in 0.3.0 (since 0.2.0)

Features

  • New array construct to specify array types
  • Allow specification of array input item separators
  • New pass-through identity construct
  • New scattering scatter, scatter-cross and scatter-nested-cross constructs
  • New #:stdout and #:stderr parameters in commands

Support staging input files

  • Support returning command objects, not just workflow objects, from ccwl files
  • Allow literal values as arguments
  • Add message requesting users report uncaught exceptions as bugs
  • Allow steps with expressions that evaluate to commands
  • Allow steps with unspecified default arguments
  • Support specifying command requirements
  • Tolerate prefixed strings in #:run parameters of commands
  • Allow calling workflows inside other workflows
  • Deprecate auto-connection of single-input commands

Compiler error messages

ccwl now comes with significantly better error messages that highlight the exact context of errors in workflow descriptions.

  • Error out if arguments have been supplied more than once
  • Error out when ccwl file does not return supported object
  • Error out when unknown keys were passed to rename
  • Error out when workflow syntax is not recognized
  • Error out when body of workflow has multiple expressions
  • Error out on unrecognized keyword arguments to command, input or output
  • Error out on unexpected extra argument to unary keyword argument of command, input or output
  • Error out on unexpected positional argument to command, input or output
  • Error out when external CWL workflow files do not exist
  • Error out when undefined inputs are used in the #:run parameter of a command
  • Error out when command is not defined
  • Error out on argument prefixes that are not strings
  • Error out when #:other and #:binding parameters are not YAML serializable trees
  • Error out when workflow step is missing required parameters
  • Error out when workflow step does not accept input key
  • Error out when workflow step is supplied with unknown key
  • Error out when #:run argument to command is invalid
  • Error out when rename mappings are not an alternating sequence of keywords and symbols

Noteworthy bug fixes

  • Escape all indicator characters when serializing YAML
  • Do not escape backslashes when serializing graphviz dot
  • When key is renamed, rename the corresponding CWL output ID too
  • Rename final workflow output correctly

Other

  • Serialize atomic YAML dictionary values on the same line
  • Serialize YAML arrays with a single atomic value on the same line
  • New guile-lib dependency for (term ansi-color)