Skip to content

Ecosystem & related projects#

Where pyramids sits in the Python geospatial / scientific-array stack — the libraries it builds on, the companion tools in its own family, and the peers you might reach for instead or alongside.

Built on#

pyramids is a high-level, object-oriented layer over these; you rarely call them directly.

Library Role in pyramids
GDAL / OGR the raster & vector I/O engine (all formats, warping, VSI cloud/archive access)
PROJ · GEOS projections / CRS transforms · geometry predicates
geopandas · shapely · pyproj FeatureCollection internals — the GeoDataFrame, geometry ops, CRS objects
numpy · pandas array & tabular data returned by reads
dask · zarr lazy/chunked arrays and the parallel Zarr datacube writer ([lazy] extra)
pystac / pystac-client STAC catalog search & item loading ([stac] extra)
pyarrow GeoParquet I/O ([parquet] extra)

Companion tools (same family)#

Project What it adds
cleopatra all plotting. Every plot* method builds a cleopatra glyph — array rendering, basemaps, RGB, vector fields. Install via the [viz] extra.
hpc-utils (hpc.indexing) pixel/index lookup utilities used by point sampling and extraction.
serapeum-org the umbrella org — pyramids, cleopatra, and shared CI/tooling live here.

Peers — and when to pick them#

pyramids is a GDAL/GIS-first raster + vector + datacube toolkit. The array-first stack overlaps on the datacube/NetCDF axis. A full, symbol-checked feature matrix lives in Comparison with other GIS packages; in short:

  • rasterio (+ rio-cogeo / rasterstats / rio-tiler) — a mature, minimal, highly-composable raster core. Pick it when you want the smallest raster dependency and will add the pieces yourself.
  • The labeled N-dimensional array ecosystem — the standard for N-dimensional labelled arrays / large lazy datacubes, with a CRS-aware raster layer on top. Pick it when your problem is genuinely N-dimensional scientific arrays. pyramids can hand off to and from that stack (NetCDF.to_xarray / from_xarray).
  • geopandas / fiona — dedicated vector. FeatureCollection already wraps geopandas, so you can drop down to it anytime.

Interop, not lock-in

Because pyramids is GDAL-backed and wraps a GeoDataFrame, moving data to rasterio, the labeled-array stack, or geopandas is a one-liner (to_xarray, the underlying .geometry, or a written GeoTIFF/GeoParquet). Use pyramids for breadth in one package; drop to a peer for its niche strength.