Environment Variables¶
The following environment variables can be used to configure StepUp.
STEPUP_DEBUG
: Set to"1"
to enable debug output. This impliesSTEPUP_LOG_LEVEL=DEBUG
(if the variable is unset) and will require internal consistency checks to pass, rather than applying corrections to overcome the inconsistencies. (Every such inconsistency is due to a bug, which should be fixed eventually.)STEPUP_EXTERNAL_SOURCES
: a colon-separated list of directories outsideSTEPUP_ROOT
where automatically detected dependencies should be retained and converted to relative paths. This is useful when you have source files that are not part of the StepUp project. For example, if you are developing a Python library and use it in a StepUp project, changes to the development version of the library will cause StepUp to re-run the affected steps. This variable can contain absolute paths and paths relative toSTEPUP_ROOT
.STEPUP_LOG_LEVEL
: The log level to use for the log files in~/.stepup/
. Possible values areDEBUG
,INFO
,WARNING
,ERROR
, andCRITICAL
. The default isWARNING
. (This can be overridden by the--log-level
command-line option.)STEPUP_ROOT
: The root directory containing the top-levelplan.py
file. If not set, StepUp will look for this file in the current directory.STEPUP_SYNC_RPC_TIMOUT
: The timeout in seconds for the synchronous RPC server. The default is 300 seconds. Set this to a smaller value if you want to detect deadlocks more quickly.
We recommend using tools like direnv to manage these variables.
Once direnv
is installed and configured, you can create a .envrc
file
in the root directory of your project, e.g. with the following contents:
When you change to the project directory (or any of its subdirectories) in your shell, the environment variables will be set automatically.