Titiler
Build your own Raster dynamic map tile services
Install / Use
/learn @developmentseed/TitilerREADME
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 | | The
Core package contains libraries to help create a dynamic tiler for COG and STAC
titiler.xarray | | The
xarray package contains libraries to help create a dynamic tiler for Zarr/NetCDF datasets
titiler.extensions | | TiTiler's extensions package. Contains extensions for Tiler Factories.
titiler.mosaic |
| The
mosaic package contains libraries to help create a dynamic tiler for MosaicJSON (adds cogeo-mosaic requirement)
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
titilerfrom 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
bluebubbles
337.3kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
gh-issues
337.3kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
healthcheck
337.3kHost security hardening and risk-tolerance configuration for OpenClaw deployments
node-connect
337.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
