Viash

Latest version: v0.1.dev0

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

0.4.0.1

BUG FIX

* `NXF`: Return original_params instead of updated params for now.

* `NXF`: Reinstate function_type: asis in line with the refactored module generation code

* `viash ns test`: print header when `--tsv foo.tsv --append true` but foo.tsv doesn't exist yet. Fixes 45.

0.4.0

NEW FEATURES

* Config modding: A custom viash DSL allows overriding viash config properties at runtime. See online documentation for more information. Example:


viash ns test \
-p docker \
-c '.functionality.version := "1.0.0"' \
-c '.platforms[.type == "docker"].target_registry := "my.docker-registry.com"' \
-c '.platforms[.type == "docker"].setup_strategy := "pull"' \
-l


* `viash build`: The image can be pushed with `--push`. The same can be done by passing `---push` to
a viash executable.

* `viash ns` can query the name, namespace, or both, with the following arguments:
- `--query_namespace` or `-n`: filter the namespace with a regex.
- `--query_name`: filter the name with a regex.
- `--query` or `-q`: filter the namespace/name with a regex.

* Added the `project_build`, `project_clean`, `project_push` and `project_test` components to this repository.

* Added a field `.functionality.info` of type `Map[String, String]` in order to be able to specify custom annotations to the component.

BREAKING CHANGES

* `viash ns`: Argument `--namespace` has been renamed to `--query_namespace`.

* `viash ns`: Argument `--namespace` does not implicitly change the namespace of the functionality anymore. You can use the command DSL to reproduce this effect; for example: `-c '.functionality.namespace := "foo"'`.

* `Docker` & `NXF`: Attribute `version` is deprecated. Instead, the default value will be `.functionality.version`, which can be overridden by using the `tag` attribute.

* `NXF`: When running a viash component as a Nextflow module on its own, you now need to specify all input files on the command line. For instance, if `--input` and `--reference` are input file arguments, you need to start the process by running `nextflow run main.nf --input <...> --reference <...> <other arguments>`. Previously only the input file needed to be specified.

* `Docker` & `NXF`: Default separator between namespace and image name has been changed from `"/"` to `"_"`.

MINOR CHANGES

* `Docker` & `NXF`: Parsing of image attributes for both `Docker` and `Nextflow` platforms are better aligned. You can define an image by specifying either of the following:
- `{ image: 'ubuntu:latest' }`
- `{ image: ubuntu, tag: latest }`

* `Docker` & `NXF`: Allow changing the separator between a namespace and the image name.

NEXTFLOW REFACTORING

The generation of Nextflow modules has been refactored thoroughly.

* `NXF`: The implicitly generated names for output files/directories have been improved leading to less clashes.

* `NXF`: Allow for multiple output files/directories from a module while keeping compatibility for single output. Please [refer to the docs](http://www.data-intuitive.com/viash_docs/config/platform-nextflow/#multiple-outputs).

* `NXF`: Allow for zero input files by means of passing an empty list `[]` in the triplet

* `NXF`: Remove requirement for `function_type: todir`

* `NXF`: It is now possible to not only specify `label: ...` for a nextflow platform but also `labels: [ ...]`.

BUG FIXES

* Allow quotes in functionality descriptions.

* `NXF`: Providing a `default: ...` value for output file arguments is no longer necessary.

0.3.2

BREAKING CHANGES

* `viash build`: Do not automatically generate a viash.yaml when creating an executable.
Instead, you need to add the `-w|--write_meta` flag in order to let viash know that it
should generate a viash.yaml in the resources dir.

MAJOR CHANGES

* `NXF`: Add beta functionality for running viash tests in Nextflow.

MINOR CHANGES

* Resources: Rework the way resources paths are converted to absolute URIs, should not have any impact on UX.

BUG FIXES

* `NXF`: Add temporary workaround for determining the used image name when running a component.

* Docker Platform: Set default setup strategy to "alwayscachedbuild" as this used to be the default viash behaviour.

* `NXF`: Fix issue where resource dir would not get mounted depending on which inputs are provided.

* `NXF`: Accept multiple inputs when component is running as standalone.

0.3.1

NEW FEATURES

* Functionality: Added list of authors field. Example:

yaml
functionality:
authors:
- name: Bob Cando
roles: [maintainer, author]
email: bobcando.com
props: {github: bobcando, orcid: XXXAAABBB}


* `Docker`: Allow specifying the registry with `target_registry`. Example:

yaml
- type: docker
image: bash:4.0
target_registry: foo.io
target_image: bar
target_tag: 0.1


* `Docker`: `version` is now a synonym for `target_tag`.
If both `version` and `target_tag` are not defined, `functionality.version` will
be used instead.

* `Docker`: Can change the Docker Setup Strategy by specifying
- in the yaml: `setup_strategy: xxx`
- on command-line: `---docker_setup_strategy xxx` or `---dss xxx`

Supported values for the setup strategy are:
- alwaysbuild / build: build the image from the dockerfile (DEFAULT)
- alwayscachedbuild / cachedbuild: build the image from the dockerfile, with caching
- alwayspull / pull: pull the image from a registry
- alwayspullelsebuild / pullelsebuild: try to pull the image from a registry, else build it
- alwayspullelsecachedbuild / pullelsecachedbuild: try to pull the image from a registry, else build it with caching
- ifneedbebuild: if the image does not exist locally, build the image
- ifneedbecachedbuild: if the image does not exist locally, build the image with caching
- ifneedbepull: if the image does not exist locally, pull the image
- ifneedbepullelsebuild: if the image does not exist locally, pull the image else build it
- ifneedbepullelsecachedbuild: if the image does not exist locally, pull the image else build it with caching
- donothing / meh: do not build or pull anything

MAJOR CHANGES

* License: viash is now licensed under GPL-3.

MINOR CHANGES

* CLI: Allow parameters before and after specifying a viash config yaml. For example,
both following commands now work. Up until now, only the latter would work.
- `viash run config.vsh.yaml -p docker`
- `viash run -p docker config.vsh.yaml`

* Functionality: Arguments field can now be omitted.

* Scripts: Wrapped scripts now contain a minimal header at the top.

BUG FIXES

* `NXF viash build`: Do not assume each config yaml has at least one test.

* Scripts: Fix Docker `chown` failing when multiple outputs are defined (21).

* JavaScriptRequirements: Fix type getting set to "python" when unparsing.

* `viash run . ---debug`: Debug session should now work again

* Native `---setup`: Fix missing newlines when running native ---setup commands.

* Main: Fix crashing when no arguments are supplied.

* Namespace: Show error message when the config file can't be parsed.

* Executable resource: Fix Docker automount handling for Executable resources.

TESTING

* YAML: Test invertibility of parsing/unparsing config objects.

0.3.0

BREAKING CHANGES

* 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.

NEW FEATURES

* 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.

MAJOR CHANGES

* 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.

MINOR CHANGES

* 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.

BUG FIXES

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

TESTING

* `viash test`: Add tests for `viash test` functionality.

0.2.2

* MINOR CHANGE: Allow generating placeholder without VIASH START/VIASH END blocks.
* BUG FIX `viash ns build`: Some platforms would sometimes not be detected.
* BUG FIX `viash run`: Avoid error when no arguments need to be chowned.

Page 4 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.