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.
FeatureCollectionalready 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.