Environment Setup

GOATS must be installed using both Conda and uv. Some dependencies, like redis-server and dragons, are only available on Conda, while Python packages are managed using uv.

Requirements

  • Conda (Miniforge recommended)

  • uv

  • Python 3.12 (managed by Conda)

  • Git

Installing Miniforge

To install Miniforge, download the appropriate installer for your system and follow the instructions Installing Miniforge.

Set Up the Conda Environment

GOATS provides a pre-configured environment file: ci_environment.yaml.

git clone https://github.com/gemini-hlsw/goats.git
cd goats

# For Intel/macOS/Linux.
conda env create -f ci_environment.yaml

# For Apple Silicon (M1/M2), use the x86_64 platform.
conda env create -f ci_environment.yaml --platform osx-64

Activate the environment:

conda activate goats-dev

Install GOATS Using uv

Once the Conda environment is active, use uv to install Python packages in editable mode.

Install all development, notebook, and documentation dependencies:

uv pip install -e . --group dev --group notebook --group docs

Or, if you only need core dependencies:

uv pip install -e . --group dev

This installs:

  • The GOATS package in development mode (changes reflect instantly).

  • Python development tools like pytest, Ruff, Sphinx, etc..

  • Optional support for Jupyter notebooks.

  • Optional documentation libaries for building documentation locally.