Configuration¶
RunCommands can be configured via a YAML file. The options that can be specified are:
globals
-> A dictionary containing global variables that are also used as default args for all commands.envs
-> A dictionary containing env-specific global variables and/or default args.When an env is specified, the corresponding env-specific variables will be merged into
globals
and the entireenvs
dict will be added toglobals
.In addition, if an env specifies
args
, these will be used as default args when the env is selected. These default args have higher precedence than default args specified via the top levelargs
option (see below).The selected env’s
args
will not be added toglobals
.args
-> A dictionary containing default arg values for specific commands. Note that if an env is specified, the env’s default args, if any, will take precedence overargs
(see above).environ
-> Environment variables.
globals
and environ
correspond to the globals
and environ
options of the runcommands.run.run()
command.
Order of Precedence¶
Lowest to highest:
- Keyword args
- Global args from config file
- Global args passed via
run
command - Env-specific global args from config file
- Env-specific default args from config file
- Default args from config file
- Command line args
- Direct call args
Interpolation¶
- Globals are injected into other global args, default args, and environment variables (after env-specific args are merged in).
- Default args are injected into other default args.