Configuration¶
Configuration of gwf is project-specific and thus all configuration must be done in the project directory where the workflow file is located.
Commands for Configuration¶
To see the value of a configuration key, use:
$ gwf config get KEY
To set the value of a key (or update it, if it already exists):
$ gwf config set KEY VALUE
Keys are often of the form this.is.a.key. For example, to use the Slurm
backend, run:
$ gwf config set backend slurm
The local backend has no host or port setting. Its scheduler communicates over
a per-workflow Unix domain socket under $XDG_RUNTIME_DIR/gwf. If
XDG_RUNTIME_DIR is unavailable, gwf uses a private directory under the
system temporary directory.
Changed in version 3.0.0: The local backend now uses a per-workflow Unix domain socket.
local.host and local.port have been removed.
Your configuration is stored in the current working directory, which will
usually be your project directory, in a file called .gwfconf.json. This
means that all configuration is project-specific, which helps with
reproducibility. You can inspect and change the file directly, but this is not
recommended unless you really know what you’re doing.
Core settings are listed in the section below. To see which options are available for a specific backend, refer to the Backends documentation.
Available Settings¶
This page lists settings that are used by gwf. Backends and plugins may define their own settings, but these are documented for each backend/plugin individually. See Configuration if in doubt about how to configure gwf.
Changed in version 3.0.0: The require_all_outputs setting was added for selective output checks
during targeted runs.
backend (str): Set the backend. Corresponds to the
--backendflag (default: local).verbose (str): Set the verbosity. Corresponds to the
--verboseflag (default: info).no_color (bool): If true, colors will not be used (default: false).
require_all_outputs (bool): If true, a target is rerun when any declared output is missing, including outputs not needed by the requested targets (default: true). Set it to false to consider only the outputs needed by the requested targets and their dependencies. For example,
gwf run Bwill not rerun a dependency solely because an output used only by another target is missing.