SkillAgentSearch skills...

Titiler

Build your own Raster dynamic map tile services

Install / Use

/learn @developmentseed/Titiler

README

<p align="center"> <img width="500" src="https://user-images.githubusercontent.com/10407788/172718020-c2378b7e-a0d4-406e-924c-8ffe54e61596.png"/> <p align="center">A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.</p> </p> <p align="center"> <a href="https://github.com/developmentseed/titiler/actions?query=workflow%3ACI" target="_blank"> <img src="https://github.com/developmentseed/titiler/workflows/CI/badge.svg" alt="Test"> </a> <a href="https://codecov.io/gh/developmentseed/titiler" target="_blank"> <img src="https://codecov.io/gh/developmentseed/titiler/branch/main/graph/badge.svg" alt="Coverage"> </a> <a href="https://pypi.org/project/titiler-application" target="_blank"> <img src="https://img.shields.io/pypi/v/titiler-application?color=%2334D058&label=pypi%20package" alt="Package version"> </a> <a href="https://github.com/developmentseed/titiler/blob/main/LICENSE" target="_blank"> <img src="https://img.shields.io/github/license/developmentseed/titiler.svg" alt="Downloads"> </a> <a href="https://mybinder.org/v2/gh/developmentseed/titiler/main" target="_blank"> <img src="https://mybinder.org/badge_logo.svg" alt="Downloads"> </a> <a href="https://hub.docker.com/r/developmentseed/titiler" target="_blank"> <img src="https://img.shields.io/docker/v/developmentseed/titiler?color=%2334D058&label=docker%20hub" alt="Docker"> </a> </p>

Documentation: <a href="https://ds.io/titiler/" target="_blank">https://devseed.com/titiler/</a>

Source Code: <a href="https://github.com/developmentseed/titiler" target="_blank">https://github.com/developmentseed/titiler</a>


TiTiler, pronounced tee-tiler (ti is the diminutive version of the french petit which means small), is a set of python modules that focus on creating FastAPI application for dynamic tiling.

Note: This project is the descendant of cogeo-tiler and cogeo-mosaic-tiler.

Features

  • Built on top of FastAPI
  • Cloud Optimized GeoTIFF support
  • SpatioTemporal Asset Catalog support
  • Multiple projections support (see TileMatrixSets) via morecantile.
  • Multi-Dimensional (Zarr) dataset support via Xarray
  • JPEG / JP2 / PNG / WEBP / GTIFF / NumpyTile output format support
  • OGC RESTful WMTS / OGC Tiles API support
  • Partial support of OGC Maps API
  • Automatic OpenAPI documentation (FastAPI builtin)
  • Virtual mosaic support (via MosaicJSON)
  • Example of AWS Lambda / ECS deployment (via CDK) / K8s Helm chart

Packages

Starting with version 0.3.0, the TiTiler python module has been split into a set of python namespace packages: titiler.{package}.

| Package | Version | Description | ------- | ------- |------------- titiler.core | titiler.core | The Core package contains libraries to help create a dynamic tiler for COG and STAC titiler.xarray | titiler.xarray | The xarray package contains libraries to help create a dynamic tiler for Zarr/NetCDF datasets titiler.extensions | titiler.extensions | TiTiler's extensions package. Contains extensions for Tiler Factories. titiler.mosaic | titiler.mosaic | The mosaic package contains libraries to help create a dynamic tiler for MosaicJSON (adds cogeo-mosaic requirement) titiler.application | titiler.application | TiTiler's demo package. Contains a FastAPI application with full support of COG, Zarr, STAC and MosaicJSON

Installation

[!WARNING]

Do not install the package named titiler from PyPI. In late 2025, we dropped support for this metapackage; now you must install TiTiler from the package names shown below.

To install from PyPI and run:

# Make sure you have pip up to date
python -m pip install -U pip

python -m pip  install titiler.{package}
# e.g.,
# python -m pip  install titiler.core
# python -m pip  install titiler.xarray
# python -m pip  install titiler.extensions
# python -m pip  install titiler.mosaic
# python -m pip  install titiler.application (also installs core, extensions, xarray and mosaic)

# Install uvicorn to run the FastAPI application locally
python -m pip install uvicorn

# Launch application locally
uvicorn titiler.application.main:app

To install from sources and run for development:

git clone https://github.com/developmentseed/titiler.git
cd titiler

uv sync --group server
uv run uvicorn titiler.application.main:app --reload

Docker

Ready to use/deploy images can be found on Github registry.

  • https://github.com/developmentseed/titiler/pkgs/container/titiler
docker run \
    --platform=linux/amd64 \
    -p 8000:8000 \
    --rm -it ghcr.io/developmentseed/titiler:latest \
    uvicorn titiler.application.main:app --host 0.0.0.0 --port 8000 --workers 1
  • Built the docker locally
git clone https://github.com/developmentseed/titiler.git
cd titiler

docker compose up --build titiler

Project structure

src/titiler/                     - titiler modules.
 ├── application/                - Titiler's `Application` package
 ├── extensions/                 - Titiler's `Extensions` package
 ├── xarray/                     - Titiler's `Xarray` package
 ├── core/                       - Titiler's `Core` package
 └── mosaic/                     - Titiler's `Mosaic` package

Contribution & Development

See CONTRIBUTING.md

License

See LICENSE

Authors

Created by Development Seed

See contributors for a listing of individual contributors.

Changes

See CHANGES.md.

Related Skills

View on GitHub
GitHub Stars1.1k
CategoryDevelopment
Updated5h ago
Forks230

Languages

Python

Security Score

100/100

Audited on Mar 26, 2026

No findings