rio-tiler
User friendly Rasterio plugin to read raster datasets.
What it is and what it does
rio-tiler is a Python wrapper around Rasterio and GDAL that simplifies reading raster data from diverse sources—local GeoTIFFs, remote HTTP URLs, S3 buckets, and cloud storage. It was originally built to generate slippy-map tiles dynamically from large raster sources, but has evolved to offer general-purpose raster I/O with user-friendly methods for tile extraction, bounding-box queries, point sampling, and feature-based reads.
The package abstracts away low-level Rasterio complexity, returning data as rio-tiler ImageData objects. It supports STAC item reading (merging bands across multiple assets), Xarray datasets, non-georeferenced images, mosaic operations, and multiple tile-matrix sets via morecantile. Runtime dependencies include numpy, pydantic, cachetools, and geospatial libraries; it requires Python 3.11 or later.
Use it for:
- Extract Web Mercator tiles from Cloud Optimized GeoTIFFs for dynamic web-map rendering.
- Read pixel values or spatial subsets from remote raster sources without downloading entire files.
- Merge and resample bands from multiple STAC assets into a single composite image.
- Sample raster values at specific geographic coordinates (lon/lat points).
- Build tile servers or mosaic services that combine multiple raster sources on-the-fly.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
rio-tiler reads raster data from local and remote sources (HTTP, S3, Cloud Storage) via a Rasterio/GDAL wrapper, supporting tile extraction, bounding-box queries, STAC assets, and Xarray datasets.
Yes. rio-tiler is actively maintained, has low install friction, carries no known vulnerabilities, and solves a concrete problem in geospatial workflows. Install it if you need to read raster data (especially tiles or remote sources) without wrestling with raw Rasterio/GDAL APIs. The BSD license is permissive. Only caveat: Rasterio itself requires system GDAL libraries, which may add setup complexity in some environments.
Install
rio-tiler on PyPI
pip
pip install rio-tileruv
uv add rio-tilerpoetry
poetry add rio-tilerInstalling rio-tiler
Before you install
Low friction: pure-Python wheel, 11 runtime dependencies including well-maintained geospatial libraries (rasterio, numpy, pydantic, morecantile). Active maintenance with a release 25 days ago.
License in practice
BSD 3-Clause permissive license allows commercial and private use with minimal restrictions; redistribution requires license and copyright notice.
Quickstart
from rio_tiler.io import Reader
with Reader("my.tif") as image:
img = image.tile(x, y, z) # read mercator tile
img = image.part(bbox) # read bounding box
pt = image.point(lon, lat) # read pixel value
Requires rasterio and GDAL to be installed; rasterio typically requires system libraries (libgdal, libproj).
Verify before relying
- Whether XarrayReader optional dependency installation (pip install rio-tiler["xarray"]) is documented clearly in package metadata.
- Performance characteristics when reading large remote datasets or many tiles in sequence.
Package facts
| License | BSD 3-Clause License Copyright (c) 2021, cogeotiff All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — attrs, cachetools, color-operations, httpx2, morecantile, numexpr, numpy, pydantic, pystac, rasterio, typing-extensions |
| Maintenance | actively maintained — 25 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 361,387/month — #7,238 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rio_tiler-9.4.2-py3-none-any.whl
Keywords: COGEO, Cloud Optimized Geotiff, STAC, rasterio, slippy-map
Tags
More GIS packages
Shapely provides Python tools for creating,…
permissive · top 1,000 on PyPI
pyprojpyproj provides a Python interface to PROJ,…
permissive · top 1,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI
geopygeopy is a Python client for geocoding and…
permissive · top 5,000 on PyPI
pyogrioPyogrio provides fast, bulk-oriented read and…
permissive · top 5,000 on PyPI
h3h3 provides Python bindings to Uber's H3…
permissive · top 5,000 on PyPI
async-tiffAsync-tiff is a low-level, high-performance…
unclear · top 15,000 on PyPI
pmtilesRead and write PMTiles archives, a single-file…
permissive · top 15,000 on PyPI
rasterioRasterio reads and writes geospatial raster…
permissive · top 5,000 on PyPI
rio-cogeorio-cogeo creates and validates Cloud Optimized…
permissive · top 15,000 on PyPI
titiler-applicationProvides a ready-to-run FastAPI application for…
permissive · top 15,000 on PyPI
supermorecadoExtends morecantile with command-line and…
permissive · top 15,000 on PyPI
xarray-spatialxarray-spatial provides 150+ functions for…
permissive · top 15,000 on PyPI
titiler-mosaicAdds MosaicJSON support to TiTiler, enabling…
permissive · top 15,000 on PyPI
rioxarrayrioxarray extends xarray with geospatial and…
permissive · top 5,000 on PyPI
titiler-coreProvides FastAPI-based building blocks to…
permissive · top 15,000 on PyPI