Viash 0.3.0

Combine functionality and platform into one config, remove temporary files

New Release

Viash Team


November 24, 2020

What’s new?

config.vsh.yaml is the new standard format, temporary files are removed when using run and test commands.

Full changelog


  • File format functionality.yaml is no longer supported. Use config.vsh.yaml or script.vsh.R/py/... instead.

  • viash run and viash test: By default, temporary files are removed when the execution succeeded, otherwise they are kept. This behaviour can be overridden by specifying --keep true to always keep the temporary files, and --keep false to always remove them.

  • NXF: function_type: todir now returns the output directory on the Channel rather than its contents.


  • Added viash ns test: Run all tests in a particular namespace. For each test, the exit code and duration is reported. Results can be written to a tsv file.
  • Added support for JavaScript scripts.
  • Added support for Scala scripts.
  • NXF: publishing has a few more options:
    • publish: Publish or yes (default is false)
    • per_id: Publish results in directories containing the unique (sample) ID (default is true)
    • path: A prefix path for the results to be published (default is empty)
  • Functionality resources and tests: Allow copying whole directories instead of only single files. Also allow to rename the destination folder by specifying a value for ‘dest’.
  • Platform R / Python dependencies: Allow running a simple command.


  • The -P <platform> parameter will be deprecated. For now, all -P values are simply passed to -p.
  • viash ns build and viash ns test: Now use all available platforms if -p is not specified.
  • By default, python packages will not be installed as user. Use user: true to modify this behaviour.


  • Name of autogenerated Docker image is now ns/tool.
  • Internal changes to make it easier to extend viash with more scripting languages.
  • NXF: Default image is now ns/tool for consistency.
  • NXF: Repurpose asis function type for having simple publishing steps (see docs).
  • NXF: Add component name to main process name
  • R dependencies: by default, do not reinstall Bioconductor packages. Set bioc_force_install: true to revert this behaviour.


  • viash build: Do not display error messages when pwd is not a git repository.


  • viash test: Add tests for viash test functionality.