Installation

Quickstart:

mamba install sealsmodel

SEALS is published on conda-forge as the package sealsmodel (the name seals was already taken; you still import seals). One mamba install sealsmodel gives you SEALS, hazelbean and the whole geospatial stack as prebuilt binaries for Windows, macOS and Linux. No compiler and no clone are needed.

The developer install below, an editable install from a clone of the repository, is still the right choice if you intend to change SEALS itself. For everyone else, the conda-forge package is the install.

Installation Walkthrough

1. Install Miniforge

If not already installed: Miniforge — https://github.com/conda-forge/miniforge. Install for your user account only, and accept the option to add it to your PATH. Miniforge ships both conda and mamba and is preconfigured to use the conda-forge channel, which is where sealsmodel lives.

2. 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 on purpose; Python arrives in step 3 as a dependency of sealsmodel, at a version conda knows the package was built for.

3. Install SEALS from conda-forge

mamba install sealsmodel

This is the whole install. The solve may take several minutes the first time because it brings in hazelbean, GDAL, NumPy and the rest of the stack as conda builds.

Developer install

The developer installation is for people who want to contribute changes to SEALS.

1. Install git and a C/C++ compiler

  • git — https://git-scm.com/downloads. The install starts from a clone.
  • 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

2. Install and then remove SEALS

The clone needs hazelbean, GDAL, NumPy and friends, which we will still get via condaforge. The following two commands install SEALS as above (to get all the dependencies) and then removes SEALS (but leaves the dependencies).

mamba install sealsmodel
conda remove sealsmodel --force

3. Clone SEALS into the devstack layout

You may clone SEALS wherever you want, but the documentation 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 there.

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

The second seals is the repository itself. Projects, and everything SEALS writes, go beside it in the first seals.

4. Install the the repository via pip

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

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

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, including the hazelbean clone.

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 info → Run anyway).

If you made the developer install and import seals resolves to site-packages, see step e — an installed copy is shadowing your clone.

If an import fails on Windows 11 with ImportError: DLL load failed ... An Application Control policy has blocked this file, Windows Smart App Control is blocking a compiled extension (statsmodels’ and SEALS’ own, among others) in the newly created environment. It is a per-machine Windows Security setting (App & browser control), not an install error, and it blocks any unsigned binary conda unpacks; turning it off is the fix, but note that Windows does not allow it to be switched back on without a reinstall.

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.