Command Line Reference

spin

Spin automates the provisioning of tools and other development requirements and provides shrink-wrapped project workflows.

Spin requires a spinfile.yaml in the project’s top-level directory. It can be started from anywhere in the project tree, and searches the path up for spinfile.yaml. Subcommands are provided by “plugins” declared in spinfile.yaml.

Spin also leverages click’s feature set, enabling the usage of environment variables instead of CLI flags and options (see Environment variables).

Usage

spin [OPTIONS] COMMAND [ARGS]...

Options

-p <properties>

Override a setting in spin’s configuration tree, using ‘property=value’. This only works for string properties. Example: spin -p python.version=3.10.19 …

--append-properties, --ap <append_properties>

Append to a setting in spin’s configuration tree, using ‘property=value’. This only works for appending to lists. Example: spin –ap pytest.opts=[‘-vv’, ‘’]

--prepend-properties, --pp <prepend_properties>

Prepend to a setting in spin’s configuration tree, using ‘property=value’. This only works for prepending to lists. Example: spin –pp pytest.opts=”-m ‘not slow’”

--dump

Dump the configuration tree before processing starts. This is useful to analyze problems with spinfile.yaml and for plugin developers.

-v, --verbose

Be more verbose. By default, spin will generate no output, except the commands it executes. Using -v, the verbosity is increased.

-q, --quiet

Be more quiet. By default, spin will echo commands as they are executed. With -q, no commands will be shown. The quiet option is also available to plugins via {quiet}. Some plugins will pass on the (equivalent of a) quiet option to the commands they call.

-f <spinfile>

An alternative name for the configuration file. This can be a relative or absolute path when used without -C.

--env <envbase>

Set an alternative directory for the environment instead of the name computed by spin (SPIN_ENVBASE).

-C, --change-directory <cwd>

Change directory before doing anything else. In this case, the configuration file (spinfile.yaml) is expected to live in the directory changed to.

--help

Display spin’s help and exit.

--version

Display spin’s version and exit.