Package Config

A Viash package configuration file. It’s name should be _viash.yaml.

Example:

viash_version: 0.9.0
source: src
target: target
version: 1.0
organization: viash-io
links:
  repository: 'https://github.com/viash-io/viash'
  docker_registry: 'ghcr.io'
config_mods: |
  .runners[.type == 'nextflow'].directives.tag := '$id'
  .runners[.type == 'nextflow'].config.script := 'includeConfig("configs/custom.config")'

authors

Type: List of Author

Default: Empty

The authors of the package.

Example:

authors:
  - name: Jane Doe
    role: [author, maintainer]
    email: jane@doe.com
    info:
      github: janedoe
      twitter: janedoe
      orcid: XXAABBCCXX
      groups: [ one, two, three ]
  - name: Tim Farbe
    roles: [author]
    email: tim@far.be

config_mods

Type: String / List of String

Default: Empty

Which config mods to apply.

Example:

config_mods: ".name := 'foo'"

description

Type: String

Default: Empty

A description of the package. This is only used for documentation. Multiline descriptions are supported.

Example:

description: |
  A (multiline) description of the purpose of this package
  and the components it contains.

info

Type: Json

Default: Empty

Structured information. Can be any shape: a string, vector, map or even nested map.

Example:

info:
  twitter: wizzkid
  classes: [ one, two, three ]

keywords

Type: List of String

Default: Empty

The keywords of the package.

Example:

keywords: [ bioinformatics, genomics ]

label

Type: String

Default: Empty

A clean version of the package name. This is only used for documentation.

Example:

label: "My package"

license

Type: String

Default: Empty

The license of the package.

Note

When the license field is left empty in a component’s configuration, the value of .version in the package config will be copied during build.

Example:

license: MIT

name

Type: String

Default: Empty

The name of the package.

Example:

name: my_package

organization

Type: String

Default: Empty

The organization of the package.

Note

When the organization field is left empty in a component’s configuration, the value of .version in the package config will be copied during build.

Example:

organization: viash-io

references

Type: References

Default: Empty

References to external resources related to the package.

Example:

references:
  doi: 10.1000/xx.123456.789
  bibtex: |
    @article{foo,
      title={Foo},
      author={Bar},
      journal={Baz},
      year={2024}
    }

repositories

Type: List of RepositoryWithName

Default: Empty

Common repository definitions for component dependencies.

Note

Any repositories defined under .repositories in the project config will be prepended to the list of repositories defined in a component’s .repositories field.

Example:

repositories:
  - name: openpipelines-bio
    type: github
    uri: openpipelines-bio/modules
    tag: 0.3.0

source

Type: String

Default: Empty

Which source directory to use for the viash ns commands.

Example:

source: src

summary

Type: String

Default: Empty

A one-sentence summary of the package. This is only used for documentation.

Example:

summary: "This package is used for XYZ."

target

Type: String

Default: Empty

Which target directory to use for viash ns build.

Example:

target: target

version

Type: String

Default: Empty

The version of the package.

Note

When the version field is left empty in a component’s configuration, the value of .version in the package config will be copied during build.

Example:

version: 0.1.0

viash_version

Type: String

Default: Empty

Which version of Viash to use.

Example:

viash_versions: 0.6.4