Installation

Prerequisites

  • Python >=3.11, <4.
  • uv (recommended by repository tooling).
  • SNAP + Java when running SNAP-dependent commands (shipdet, worldsar).
  • Docker Engine if using container workflows.

Setup Steps

# repository root
uv venv .venv
source .venv/bin/activate
uv sync

Environment Variables

Set runtime variables as needed (see Configuration Reference).

export GRID_PATH=./grid/grid_10km.geojson
export GPT_PATH=/path/to/gpt
export HF_TOKEN=***

Configuration

Primary configuration sources are CLI flags, environment variables, and files such as pyproject.toml, docker-compose.yml, and Makefile targets.

Build

# local package install
python -m pip install -e .

# container build
make docker-build

Development

source .venv/bin/activate
uv sync
pytest -q

Production

Production workflows are typically containerized, pinning SNAP and Python dependencies through Docker image builds.

make recreate

Docker

docker compose version
make check-grid
make recreate

Troubleshooting

  • SNAP missing: verify SNAP_HOME and gpt in PATH.
  • Grid errors: set GRID_PATH or provide ./grid/grid_10km.geojson.
  • Upload auth failures: set HF_TOKEN or run Hugging Face CLI login.
- matplotlib
- scipy
- python-dateutil>=2.9.0
- six>=1.16.0
- geopandas>=1.1.1
- shapely
- numpy
- openpyxl
- h5py
- numba
- jupyter
- rasterio==1.4.3
- zarr>=3.0.0
- joblib>=1.5.1
- dask>=2025.5.1
- lxml>=5.4.0
- huggingface-hub>=0.34.1
- tifffile>=2025.6.11
- folium>=0.20.0
- plotly>=6.2.0