Terms used by Nextstrain CLI. Primarily intended for developers new to the codebase, though some terms are also used in user-facing messages and documentation.

computing environment

A general term for any given set of software, configuration, and other resources available for running programs. Computing environments are often nested, with inner environments inheriting to varying degrees from the outer environments. The isolation and reproducibility of different computing environments varies widely.

Nextstrain runtimes are examples of specific computing environments.

computing platform

The foundation of a computing environment (or part of it), such as Docker, Conda, Singularity, AWS Batch, etc.


The code (i.e. Python module, e.g. nextstrain/cli/runner/ which arranges to execute things inside a runtime.

Used by commands like nextstrain build and nextstrain view, for example, to execute snakemake or auspice (respectively).

Runners have a 1:1 mapping to runtimes.


A specific computing environment (e.g. container image or Conda environment) in which Nextstrain CLI expects to find and execute other Nextstrain programs.

See the runtimes overview.