Skip to content
@serapeum-org

Serapeum

Open-source Python for geospatial analysis, hydrological modelling and Earth observation

Serapeum

Open-source Python for geospatial analysis, hydrological modelling and Earth observation.

Fourteen packages, all on PyPI and conda-forge, built to compose rather than to stand alone: a GDAL/OGR core, a plotting layer over it, and domain libraries built on both. Use one on its own, or the whole stack together.

Documentation

Packages

Geospatial

Package Distribution What it does
pyramids pyramids-gis Raster, vector and datacube handling over GDAL/OGR — GeoTIFF, NetCDF, shapefiles, GeoJSON. The engine the rest of the stack builds on.
pyramids-eo pyramids-eo Remote-sensing and Earth-observation tier on top of pyramids.
digital-rivers digital-rivers DEM and raster processing — the source of truth for terrain work across the stack.
earthlens earthlens Earth-observation data acquisition: ECMWF, STAC, Copernicus, GEE and more, behind one interface.

Hydrology

Package Distribution What it does
Hapi hapi-nile Conceptual distributed hydrological model — HBV96 lumped model with Muskingum routing.
Serapis serapis Flood simulation and hydrodynamic modelling.

Visualization

Package Distribution What it does
cleopatra cleopatra A matplotlib convenience layer over in-memory NumPy data. Every other package plots through it.
Digital-Earth digitalearth Geospatial visualization for rasters and vectors — static, interactive, 3D and web.

Statistics

Package Distribution What it does
statista statista Statistics, with a focus on extreme-value analysis and distribution fitting.
geostatista geostatista Variograms, kriging and spatial autocorrelation.

Utilities

Package Distribution What it does
hpc hpc-utils NumPy helpers shared across the stack.
unicloud unicloud One interface over cloud object storage.
Oasis Oasis-Optimization Harmony-search optimization.
serapeum_utils serapeum_utils Small shared utilities.

Other work

Repository What it is
serapeum A provider-agnostic LLM framework — core plus pluggable providers.
llama-utils LlamaIndex utilities.
github-actions Reusable composite actions every repository's CI is built from — Python setup for pip, uv and pixi, versioned MkDocs deploys, and releases.
docs The documentation site that aggregates every package.

How the packages fit together

Derived from what each package declares in its pyproject.toml. The full graph in the documentation carries the same links with more explanation.

graph TD
    Digital_Earth["Digital-Earth"]
    Hapi["Hapi"]
    Oasis["Oasis"]
    Serapis["Serapis"]
    cleopatra["cleopatra"]
    digital_rivers["digital-rivers"]
    earthlens["earthlens"]
    earthstudio["earthstudio"]
    geostatista["geostatista"]
    hpc["hpc"]
    hydrological_models["hydrological-models"]
    pyramids["pyramids"]
    pyramids_eo["pyramids-eo"]
    serapeum["serapeum"]
    serapeum_utils["serapeum_utils"]
    statista["statista"]

    %% required
    Digital_Earth --> pyramids
    Digital_Earth -->|tiles| cleopatra
    Hapi --> Oasis
    Hapi --> cleopatra
    Hapi --> pyramids
    Hapi --> statista
    Serapis --> cleopatra
    Serapis --> pyramids
    Serapis --> serapeum_utils
    Serapis --> statista
    cleopatra --> hpc
    digital_rivers --> pyramids
    earthlens --> pyramids
    geostatista --> pyramids
    hydrological_models --> Hapi
    hydrological_models --> pyramids
    pyramids --> hpc
    pyramids_eo --> pyramids

    %% optional — reached only through an extra
    Hapi -.->|inputs → ecmwf| earthlens
    digital_rivers -.->|viz → tiles| cleopatra
    earthlens -.->|eedai| pyramids_eo
    earthstudio -.->|agent| serapeum
    earthstudio -.->|gis| Digital_Earth
    earthstudio -.->|gis| geostatista
    earthstudio -.->|gis| pyramids
    earthstudio -.->|gis| pyramids_eo
    geostatista -.->|viz| cleopatra
    hydrological_models -.->|inputs → ecmwf| earthlens
    pyramids -.->|viz → tiles| cleopatra

    %% extras that upgrade an already-required dependency
    digital_rivers -.->|distributed → lazy · viz → viz| pyramids
    earthlens -.->|nwm → parquet · stac → stac| pyramids
    geostatista -.->|distributed → lazy · viz → viz| pyramids
    pyramids_eo -.->|viz → viz| pyramids
Loading

Solid arrows are required dependencies; a label on one is the extra the dependency is installed with. Dashed arrows are optional — the label reads <extra on this package> → <extra on the dependency>. A dashed arrow beside a solid one is an extra that upgrades a dependency the package already requires. Only runtime dependencies and installable extras are shown; contributor-only dependency groups are omitted.

12 further repositories neither depend on these packages nor are depended on by them, so they are not drawn here.

Installing

Every package is published to both PyPI and conda-forge:

pip install pyramids-gis
conda install -c conda-forge pyramids

Optional features ship as extras rather than as required dependencies, so a bare install stays small. Plotting is the common case:

pip install "pyramids-gis[viz]"     # adds cleopatra and the plotting stack
pip install "hapi-nile[inputs]"     # adds earthlens with the ECMWF reader

Contributing

Branches follow <type>/<short-description> in kebab-case, and commits follow Conventional Commits. Releases are cut with Commitizen and flow on to PyPI and conda-forge automatically.

Star History

Star History Chart

Pinned Loading

  1. Hapi Hapi Public

    Hapi is a Python library for building Conceptual Distributed Model using HBV96 lumped model & Muskingum routing method

    Python 43 19

  2. pyramids pyramids Public

    Geospatial data package

    Python 45 5

  3. statista statista Public

    Extreme value statistics

    Python 12

  4. cleopatra cleopatra Public

    Matplotlib utility package

    Python 1

  5. earthlens earthlens Public

    Remote Sensing data - Earth observation data

    Python 66 5

  6. serapeum serapeum Public

    Provider-agnostic LLM framework

    Python 1

Repositories

Showing 10 of 32 repositories
  • pyramids Public

    Geospatial data package

    serapeum-org/pyramids's past year of commit activity
    Python 45 GPL-3.0 5 22 2 Updated Sep 24, 2026
  • earthlens Public

    Remote Sensing data - Earth observation data

    serapeum-org/earthlens's past year of commit activity
    Python 66 GPL-3.0 5 32 4 Updated Sep 24, 2026
  • Digital-Earth Public

    Geospatial data Visualization

    serapeum-org/Digital-Earth's past year of commit activity
    Python 0 GPL-3.0 1 50 (2 issues need help) 1 Updated Sep 24, 2026
  • pyramids-eo Public

    Remote-sensing and Earth-observation tier for the pyramids GIS stack

    serapeum-org/pyramids-eo's past year of commit activity
    Python 0 GPL-3.0 0 3 0 Updated Sep 23, 2026
  • geostatista Public

    Geostatistics: variograms, kriging and spatial autocorrelation

    serapeum-org/geostatista's past year of commit activity
    Python 0 GPL-3.0 0 2 3 Updated Sep 22, 2026
  • docs Public

    Documentation site for the Serapeum packages

    serapeum-org/docs's past year of commit activity
    0 GPL-3.0 0 0 0 Updated Sep 20, 2026
  • statista Public

    Extreme value statistics

    serapeum-org/statista's past year of commit activity
    Python 12 MIT 0 17 3 Updated Sep 20, 2026
  • Hapi Public

    Hapi is a Python library for building Conceptual Distributed Model using HBV96 lumped model & Muskingum routing method

    serapeum-org/Hapi's past year of commit activity
    Python 43 GPL-3.0 19 17 1 Updated Sep 20, 2026
  • digital-rivers Public

    DEM and raster data processing

    serapeum-org/digital-rivers's past year of commit activity
    Python 0 GPL-3.0 0 11 2 Updated Sep 20, 2026
  • hpc Public

    NumPy utility package

    serapeum-org/hpc's past year of commit activity
    Python 0 GPL-3.0 0 0 2 Updated Sep 20, 2026

Top languages

Python

Most used topics

Loading…