Stacks is written in Python, so it'll need a working Python interpreter on your machine.
We recommend the version specified in pyproject.toml.
Stacks is installable with both pip
and uv
.
Choose one and install it. If you already have pip
installed you can skip uv
, otherwise we recommend the latter.
Stacks requires Terraform (or OpenTofu) to be installed on your machine.
Stacks will use the binary in the STACKS_TERRAFORM_PATH
environment variable, which defaults to terraform
(so it'll look up terraform
in $PATH
and use that).
If you use OpenTofu make sure to set STACKS_TERRAFORM_PATH
to tofu
.
If STACKS_TERRAFORM_PATH
is not in $PATH
, you can also set STACKS_TERRAFORM_PATH
to the absolute path of the binary you want to use (e.g.: STACKS_TERRAFORM_PATH=/usr/bin/terraform
).
To install Stacks using pip
:
pip3 install --break-system-packages git+https://github.com/cisco-open/stacks.git
To install Stacks using uv
:
uv tool install git+https://github.com/cisco-open/stacks.git
For development, we recommend you install Stacks from source:
git clone [email protected]:cisco-open/stacks.git
cd stacks/
uv tool install --editable .
The --editable
flag allows you to try your changes right away without reinstalling stacks
.