Installation

SEALS is installed directly from the Git repository as an editable install in a conda environment.

1. Install git and Miniforge/Conda

If not already installed:

2. Install a C/C++ compiler

SEALS compiles a Cython extension (seals/seals_cython_functions.pyx) when it is installed from source, so a C/C++ compiler is required — see Compiling C/C++ Code.

  • macOS: xcode-select --install
  • Windows: Visual Studio Build Tools, or run install.bat from the Earth-Economy Devstack repository root
  • Linux: gcc is usually already present

3. Create and activate an environment

conda create -n <your_env>
conda activate <your_env>

Pick your own environment name — the devstack does not require a particular one. Always activate it before running SEALS scripts.

The environment starts empty; Python arrives in step 4 as a dependency of hazelbean, at a version conda knows hazelbean was built for.

4. Install hazelbean and the dependency stack from conda-forge

This is the step that makes the editable install below work, so do not skip it — it is where hazelbean, GDAL, NumPy and the rest of the geospatial stack come from, as conda builds rather than pip wheels:

conda install hazelbean cython libgdal-hdf5

This may take 5–10 minutes.

5. Clone SEALS into the devstack layout

You may clone SEALS wherever you want, however documentation here assumes the repo lives in its own project folder under ~/Files/ (C:\Users\<you>\Files\ on Windows). The command below clones it into a seals subfolder in files.

mkdir -p ~/Files/seals && cd ~/Files/seals
git clone https://github.com/jandrewjohnson/seals.git

6. Make the editable install

Note that the second seals is the actual repository. Projects will and all written files will go in the first seals.

cd ~/Files/seals/seals
pip install -e . --no-deps

--no-deps is deliberate, and required. SEALS declares hazelbean>=2.0.0 as its only runtime dependency, and you already have it from step 4. Letting pip resolve dependencies again tends to replace conda’s builds of the geospatial stack (GDAL and friends) with incompatible wheels.

8. Other devstack repos (optional)

The same clone-and-editable-install pattern works for the rest of the stack, each in its own ~/Files/<name>/ project folder: global_invest_dev, gtap_invest_dev, gtappy_dev, gep_dev. All but global_invest_dev are private; ask for read access before cloning them.

See the full installation guide for the devstack-wide version of these steps.

Troubleshooting

The devstack guide’s Common problems section covers the environment-level failures, none of which are SEALS-specific: you need administrator rights; PowerShell needs conda init powershell before conda works in it; conda may need adding to PATH manually; and Windows may show “Windows protected your PC” on the Miniforge installer (click More infoRun anyway).

If import seals resolves to site-packages, see the verify step in 7 — an installed copy is shadowing your clone.

Next

With the environment activated, go to Quickstart — it runs the pared test pipeline and shows where the output lands.

Budget time for the first run rather than the install: SEALS downloads the base data it needs at runtime from a public bucket, so a correct install is still followed by a substantial download before you see a result. No credentials are needed for the default configuration.