developmentseed/titiler
developmentseed/titiler has 1,206 GitHub stars and 255 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 08:28 UTC. Last push 2026-11-02.
Build your own Raster dynamic map tile services
What you can do
- Built on top of FastAPI
- Cloud Optimized GeoTIFF support
- SpatioTemporal Asset Catalog support
- Multiple projections support (see TileMatrixSets) via morecantile.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
A Happy Tiles factory.
Documentation: https://devseed.com/titiler/
Source Code: https://github.com/developmentseed/titiler
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.
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
Runtime user
The image runs as the non-root user nonroot (uid/gid 65532). Releases up to 2.2.1 ran as root.
With rootless Podman, nonroot maps to a subordinate host uid, so it can't read bind-mounted files that only your account or its groups can access. Run as container root, which maps to your own uid, or map your uid onto nonroot (Podman >= 4.3):
podman run --user 0:0 --group-add keep-groups ...
podman run --userns=keep-id:uid=65532,gid=65532 --group-add keep-groups ...
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.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,321 starspublic-apis/public-apis
A collective list of free APIs
497,564 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
446,472 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,245 stars