rio-tiler 7.9.2


pip install rio-tiler

  Latest version

Released: Oct 09, 2025


Meta
Author: Vincent Sarago
Requires Python: >=3.9

Classifiers

Intended Audience
  • Information Technology
  • Science/Research

License
  • OSI Approved :: BSD License

Programming Language
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13

Topic
  • Scientific/Engineering :: GIS

rio-tiler

rio-tiler

User friendly Rasterio plugin to read raster datasets.

Test Coverage Package version Conda Forge Downloads Downloads Binder


Documentation: https://cogeotiff.github.io/rio-tiler/

Source Code: https://github.com/cogeotiff/rio-tiler


Description

rio-tiler was initially designed to create slippy map tiles from large raster data sources and render these tiles dynamically on a web map. Since rio-tiler v2.0, we added many more helper methods to read data and metadata from any raster source supported by Rasterio/GDAL. This includes local and remote files via HTTP, AWS S3, Google Cloud Storage, etc.

At the low level, rio-tiler is just a wrapper around the rasterio and GDAL libraries.

Features

  • Read any dataset supported by GDAL/Rasterio

    from rio_tiler.io import Reader
    
    with Reader("my.tif") as image:
        print(image.dataset)  # rasterio opened dataset
        img = image.read()    # similar to rasterio.open("my.tif").read() but returns a rio_tiler.models.ImageData object
    
  • User friendly tile, part, feature, point reading methods

    from rio_tiler.io import Reader
    
    with Reader("my.tif") as image:
        img = image.tile(x, y, z)            # read mercator tile z-x-y
        img = image.part(bbox)               # read the data intersecting a bounding box
        img = image.feature(geojson_feature) # read the data intersecting a geojson feature
        img = image.point(lon,lat)           # get pixel values for a lon/lat coordinates
    
  • Enable property assignment (e.g nodata) on data reading

    from rio_tiler.io import Reader
    
    with Reader("my.tif") as image:
        img = image.tile(x, y, z, nodata=-9999) # read mercator tile z-x-y
    
  • STAC support

    from rio_tiler.io import STACReader
    
    with STACReader("item.json") as stac:
        print(stac.assets)  # available asset
        img = stac.tile(  # read tile for asset1 and indexes 1,2,3
            x,
            y,
            z,
            assets="asset1",
            indexes=(1, 2, 3),  # same as asset_indexes={"asset1": (1, 2, 3)},
        )
    
        # Merging data from different assets
        img = stac.tile(  # create an image from assets 1,2,3 using their first band
            x,
            y,
            z,
            assets=("asset1", "asset2", "asset3",),
            asset_indexes={"asset1": 1, "asset2": 1, "asset3": 1},
        )
    
  • Xarray support (>=4.0)

    import xarray
    from rio_tiler.io import XarrayReader
    
    ds = xarray.open_dataset(
        "https://pangeo.blob.core.windows.net/pangeo-public/daymet-rio-tiler/na-wgs84.zarr/",
        engine="zarr",
        decode_coords="all",
        consolidated=True,
    )
    da = ds["tmax"]
    with XarrayReader(da) as dst:
        print(dst.info())
        img = dst.tile(1, 1, 2)
    

    Note: The XarrayReader needs optional dependencies to be installed pip install rio-tiler["xarray"].

  • Non-Geo Image support (>=4.0)

    from rio_tiler.io import ImageReader
    
    with ImageReader("image.jpeg") as src:
        im = src.tile(0, 0, src.maxzoom)  # read top-left `tile`
        im = src.part((0, 100, 100, 0))  # read top-left 100x100 pixels
        pt = src.point(0, 0)  # read pixel value
    

    Note: ImageReader is also compatible with proper geo-referenced raster datasets.

  • Mosaic (merging or stacking)

    from rio_tiler.io import Reader
    from rio_tiler.mosaic import mosaic_reader
    
    def reader(file, x, y, z, **kwargs):
        with Reader(file) as image:
            return image.tile(x, y, z, **kwargs)
    
    img, assets = mosaic_reader(["image1.tif", "image2.tif"], reader, x, y, z)
    
  • Native support for multiple TileMatrixSet via morecantile

    import morecantile
    from rio_tiler.io import Reader
    
    # Use EPSG:4326 (WGS84) grid
    wgs84_grid = morecantile.tms.get("WorldCRS84Quad")
    with Reader("my.tif", tms=wgs84_grid) as src:
        img = src.tile(1, 1, 1)
    

Install

You can install rio-tiler using pip

$ python -m pip install -U pip
$ python -m pip install -U rio-tiler

or install from source:

$ git clone https://github.com/cogeotiff/rio-tiler.git
$ cd rio-tiler
$ python -m pip install -U pip
$ python -m pip install -e .

Plugins

rio-tiler-pds

rio-tiler v1 included several helpers for reading popular public datasets (e.g. Sentinel 2, Sentinel 1, Landsat 8, CBERS) from cloud providers. This functionality is now in a separate plugin, enabling easier access to more public datasets.

rio-tiler-mvt

Create Mapbox Vector Tiles from raster sources

Implementations

titiler: A lightweight Cloud Optimized GeoTIFF dynamic tile server.

cogeo-mosaic: Create mosaics of Cloud Optimized GeoTIFF based on the mosaicJSON specification.

Contribution & Development

See CONTRIBUTING.md

Authors

The rio-tiler project was begun at Mapbox and was transferred to the cogeotiff Github organization in January 2019.

See AUTHORS.txt for a listing of individual contributors.

Changes

See CHANGES.md.

License

See LICENSE

7.9.2 Oct 09, 2025
7.9.1 Oct 09, 2025
7.9.0 Oct 07, 2025
7.8.1 Jun 16, 2025
7.8.0 Jun 03, 2025
7.7.4 May 29, 2025
7.7.3.post1 May 22, 2025
7.7.3 May 22, 2025
7.7.2 May 15, 2025
7.7.1 May 13, 2025
7.7.0 May 05, 2025
7.6.1 Apr 22, 2025
7.6.0 Mar 31, 2025
7.5.1 Mar 19, 2025
7.5.0 Feb 26, 2025
7.4.0 Jan 28, 2025
7.3.1 Jan 23, 2025
7.3.0 Jan 07, 2025
7.2.2 Nov 18, 2024
7.2.1 Nov 14, 2024
7.2.0 Nov 05, 2024
7.1.0 Oct 29, 2024
7.0.1 Oct 23, 2024
7.0.0 Oct 21, 2024
6.8.0 Oct 23, 2024
6.7.0 Sep 04, 2024
6.6.1 May 17, 2024
6.6.0 May 16, 2024
6.5.0 May 03, 2024
6.4.7 Apr 18, 2024
6.4.6 Apr 09, 2024
6.4.5 Apr 05, 2024
6.4.4 Apr 02, 2024
6.4.3 Mar 22, 2024
6.4.2 Mar 22, 2024
6.4.1 Feb 19, 2024
6.4.0 Jan 24, 2024
6.3.1 Jan 22, 2024
6.3.0 Jan 16, 2024
6.2.10 Jan 08, 2024
6.2.9 Dec 20, 2023
6.2.8 Dec 11, 2023
6.2.7 Nov 29, 2023
6.2.6 Nov 10, 2023
6.2.5 Nov 06, 2023
6.2.4 Oct 19, 2023
6.2.3.post1 Nov 15, 2023
6.2.3 Oct 11, 2023
6.2.2 Oct 05, 2023
6.2.1 Sep 28, 2023
6.2.0 Sep 27, 2023
6.1.0 Sep 15, 2023
6.0.3 Sep 13, 2023
6.0.2 Aug 21, 2023
6.0.1 Jul 25, 2023
6.0.0 Jul 25, 2023
5.0.3 Jul 18, 2023
5.0.2 Jul 11, 2023
5.0.1 Jun 22, 2023
5.0.0 Jun 01, 2023
4.1.13 Jun 22, 2023
4.1.12 Jun 16, 2023
4.1.11 May 18, 2023
4.1.10 Mar 24, 2023
4.1.9 Feb 28, 2023
4.1.8 Feb 15, 2023
4.1.7 Feb 07, 2023
4.1.6 Jan 18, 2023
4.1.5 Dec 21, 2022
4.1.4 Dec 16, 2022
4.1.3 Dec 15, 2022
4.1.2 Dec 15, 2022
4.1.1 Dec 12, 2022
4.1.0 Nov 24, 2022
4.0.0 Nov 21, 2022
4.0.0a2 Nov 15, 2022
4.0.0a1 Nov 09, 2022
4.0.0a0 Oct 20, 2022
3.1.6 Jul 22, 2022
3.1.5 Jul 06, 2022
3.1.4 Apr 14, 2022
3.1.3 Apr 08, 2022
3.1.2 Mar 25, 2022
3.1.1 Mar 17, 2022
3.1.0 Feb 21, 2022
3.0.3 Jan 18, 2022
3.0.2 Jan 03, 2022
3.0.1 Dec 03, 2021
3.0.0 Nov 29, 2021
3.0.0a6 Nov 22, 2021
3.0.0a5 Nov 18, 2021
3.0.0a4 Nov 10, 2021
3.0.0a3 Nov 03, 2021
3.0.0a2 Oct 21, 2021
3.0.0a1 Oct 20, 2021
3.0.0a0 Oct 19, 2021
2.1.4 Oct 25, 2021
2.1.3 Sep 15, 2021
2.1.2 Aug 10, 2021
2.1.1 Jul 29, 2021
2.1.0 May 17, 2021
2.0.8 Apr 26, 2021
2.0.7 Apr 01, 2021
2.0.6 Mar 25, 2021
2.0.5 Mar 18, 2021
2.0.4 Mar 09, 2021
2.0.3 Feb 19, 2021
2.0.2 Feb 17, 2021
2.0.1 Feb 05, 2021
2.0.0 Jan 27, 2021
2.0.0rc4 Dec 18, 2020
2.0.0rc3 Nov 25, 2020
2.0.0rc2 Nov 18, 2020
2.0.0rc1.post1 Nov 13, 2020
2.0.0rc1 Nov 09, 2020
2.0.0b19 Oct 26, 2020
2.0.0b18 Oct 22, 2020
2.0.0b17 Oct 13, 2020
2.0.0b16 Oct 07, 2020
2.0b15 Oct 06, 2020
2.0b14.post2 Oct 02, 2020
2.0b14.post1 Oct 02, 2020
2.0b14 Oct 02, 2020
2.0b13 Oct 01, 2020
2.0b12 Sep 28, 2020
2.0b11 Sep 24, 2020
2.0b10 Sep 15, 2020
2.0b9 Sep 09, 2020
2.0b8 Aug 24, 2020
2.0b7 Aug 21, 2020
2.0b6 Aug 04, 2020
2.0b5 Aug 01, 2020
2.0b4 Jul 30, 2020
2.0b3 Jul 27, 2020
2.0b2 Jul 23, 2020
2.0b1 Jul 22, 2020
2.0a11 May 29, 2020
2.0a10 May 29, 2020
2.0a9 May 28, 2020
2.0a8 May 25, 2020
2.0a7 May 18, 2020
2.0a6 May 07, 2020
2.0a5 May 06, 2020
2.0a4 Apr 08, 2020
2.0a3 Mar 25, 2020
2.0a2 Mar 20, 2020
2.0a1 Mar 19, 2020
1.4.0 Feb 19, 2020
1.3.1 Nov 06, 2019
1.3.0 Oct 07, 2019
1.2.11 Sep 19, 2019
1.2.10 Jul 18, 2019
1.2.9 Jul 11, 2019
1.2.8 Jul 08, 2019
1.2.7 May 14, 2019
1.2.5 May 08, 2019
1.2.4 Apr 16, 2019
1.2.3 Apr 04, 2019
1.2.2 Apr 03, 2019
1.2.1 Mar 27, 2019
1.2.0 Mar 26, 2019
1.1.4 Mar 11, 2019
1.1.3 Mar 06, 2019
1.1.1 Feb 21, 2019
1.1.0 Feb 15, 2019
1.0.1 Feb 14, 2019
1.0.0 Feb 11, 2019
1.0rc3 Feb 05, 2019
1.0rc2 Aug 22, 2018
1.0rc1 Jul 16, 2018
1.0b3 Jul 02, 2018
1.0b2 Jun 26, 2018
1.0b1 Jun 23, 2018
1.0a8 Jun 20, 2018
1.0a7 May 14, 2018
1.0a6 Mar 29, 2018
1.0a5 Mar 26, 2018
1.0a4 Mar 08, 2018
1.0a3 Feb 05, 2018
1.0a2 Feb 05, 2018
1.0a1 Jan 04, 2018
1.0a0 Jan 03, 2018
0.0.3 Nov 15, 2017
0.0.2 Oct 17, 2017
0.0.1 Oct 12, 2017

Wheel compatibility matrix

Platform Python 3
any

Files in release