Installation

GOATS is designed to be run locally. As of now, there are no plans for a dedicated central server hosting GOATS. All installations should be performed on your local machine following the steps outlined below.

System Requirements

  • Python 3.12 or higher

  • Conda (Miniforge)

  • Supported Operating Systems:

    • Linux

    • macOS (Intel & ARM)

    • Windows with WSL (Windows Subsystem for Linux)

  • Supported Browsers:

    • Chrome

    • Chromium-based browsers

    • Firefox

Note

If you already have Anaconda or Miniconda installed, then you can go directly to the Installing GOATS section below.

Otherwise we recommend installing Miniforge. Miniforge defaults to using the community-driven Conda-Forge repository, which provides more up-to-date and widely maintained packages. Additionally, Anaconda/Miniconda enforces licensing restrictions for commercial use. Miniforge does not have such restrictions, thus making it a more flexible and widely accepted alternative.

Installing Miniforge

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

Choose the correct installer for your system:

Operating System

Installation Command

Linux

$ sh Miniforge3-Linux-x86_64.sh

macOS (Intel)

$ sh Miniforge3-MacOSX-x86_64.sh

macOS (M1/M2 ARM)

$ sh Miniforge3-MacOSX-arm64.sh

Windows (WSL)

See Windows with WSL

After downloading the installer, open a terminal and run the command specific to your platform.

We recommend manual initialization of conda. When prompted with:

Do you wish to update your shell profile to automatically initialize conda?

answer no. After installation completes, manually initialize conda for your preferred shell:

$ ~/miniforge3/bin/conda init <shell>

Replace <shell> with your shell of choice (e.g., bash, zsh, fish).

To verify the installation, run:

$ which conda

Ensure that miniforge3 appears in the output of which conda.

Installing GOATS

Follow the steps below to install GOATS across all supported platforms.

  1. Create the GOATS conda environment:

    $ conda create -n goats-env python=3.12 goats -c https://gemini-hlsw.github.io/goats-infra/conda
    

    Note

    If the environment creation fails, it may be due to an outdated version of Conda. Upgrade to the latest version. If issues persist, consider reinstalling Conda via Miniforge as described above.

    Refer here for macOS with Apple silicon chips and systems with Windows.

  2. Activate the conda environment:

    $ conda activate goats-env
    
  3. Install and run GOATS:

    $ goats install
    $ goats run
    

    Note

    For more details on the goats command, see GOATS Command Line Interface.

    When executing goats install, you will be prompted to create a username and password, which you will use to log into your GOATS interface. This interface (see GOATS Interface overview) will automatically launch in your default web browser when issuing goats run.

    The installation step will create a folder named GOATS in your current directory. This is the parent directory of your GOATS interface; you can specify a different parent directory by using the -d flag (see GOATS Command Line Interface).

  4. To close your GOATS interface, simply press Ctrl+C in the terminal.

    Note

    To open your GOATS interface the next time, execute:

    $ goats run -d /your/parent/directory/of/GOATS
    

    within the conda environment you created for GOATS.

  5. When you are finished using GOATS, deactivate the conda environment by running:

    $ conda deactivate
    

Platform-Specific Notes

Windows with WSL

GOATS does not support native Windows installations but can be run through WSL (Windows Subsystem for Linux). To install WSL, follow the official tutorial.

Once WSL is installed, follow the Linux Miniforge installation instructions from Installing Miniforge and proceed with Installing GOATS.

Running GOATS on macOS (M1/M2 ARM)

Currently, DRAGONS (one of the dependencies of GOATS) does not support macOS ARM architecture. To ensure compatibility, use the ARM version of Miniforge but include the --platform osx-64 flag when creating the environment:

$ conda create --platform osx-64 -n goats-env python=3.12 goats -c https://gemini-hlsw.github.io/goats-infra/conda

This ensures that dependencies are installed in a way that maintains compatibility with required packages.

Once the environment is created and activated, install and run GOATS normally:

$ goats install
$ goats run

Since the entire Conda environment is running under osx-64, GOATS will always execute in x86 mode automatically.