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.gitTo install Stacks using uv:
uv tool install git+https://github.com/cisco-open/stacks.gitFor development, we recommend you install Stacks from source:
git clone git@github.com:cisco-open/stacks.git
cd stacks/
uv tool install --editable .The --editable flag allows you to try your changes right away without reinstalling stacks.