finds.dev← search

// the find

rasterio/rasterio

★ 2,535 · Python · NOASSERTION · updated Jun 2026

Rasterio reads and writes geospatial raster datasets

Rasterio is a Python library wrapping GDAL for reading and writing geospatial raster formats (GeoTIFF, NetCDF, HDF5, etc.) with a NumPy-based API. It's the de facto standard for anyone doing raster GIS work in Python who wants something less painful than raw GDAL bindings. If you're building satellite imagery pipelines, elevation analysis, or spatial data processing, this is what you reach for.

The API is genuinely well-designed — context managers, windowed reads, and the affine transform abstraction are clean and composable. Binary wheels on PyPI bundle GDAL with format drivers (including HDF5, netCDF, OpenJPEG2000) which removes the historically nightmarish GDAL installation problem. The `rio` CLI covers 90% of common one-off raster tasks without writing a script. Test suite is thorough with real raster fixtures, and the CI matrix tests against multiple GDAL versions including latest tags, which matters for a library this coupled to an external C library.

It's fundamentally a thin wrapper around GDAL, so when something breaks or behaves unexpectedly you end up debugging C library behavior with Python stack traces. Cython throughout means building from source is painful on anything not covered by the prebuilt wheels. The concurrency story is awkward — shared GDAL environment state makes multiprocessing safer than threading, and the docs acknowledge this but the constraints still catch people. Cloud-native raster formats (COG, Zarr-backed arrays) are better handled by dedicated tools like rio-cogeo or xarray/rioxarray; rasterio is the low-level plumbing, not the full solution for modern cloud workflows.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →