A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.
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
.
- Built on top of FastAPI
- Cloud Optimized GeoTIFF support
- SpatioTemporal Asset Catalog support
- Multiple projections support (see TileMatrixSets) via
morecantile
. - JPEG / JP2 / PNG / WEBP / GTIFF / NumpyTile output format support
- OGC WMTS support
- Automatic OpenAPI documentation (FastAPI builtin)
- Virtual mosaic support (via MosaicJSON)
- Example of AWS Lambda / ECS deployment (via CDK)
Starting with version 0.3.0
, the TiTiler
python module has been splitted into a set of python namespace packages: titiler.{package}
.
-
The
Core
package contains libraries to help creating dynamic tiler for COG and STAC. -
The
mosaic
package contains libraries to help creating dynamic tiler for MosaicJSON (addscogeo-mosaic
requirement). -
TiTiler's
demo
package. Contains a FastAPI application with full support of COG, STAC and MosaicJSON.
$ pip install -U pip
# From Pypi
$ pip install titiler.{package}
# e.g
# pip install titiler.core
# pip install titiler.mosaic
# pip install titiler.application
# Or from sources
$ git clone https://github.com/developmentseed/titiler.git
$ cd titiler && pip install -e titiler/core titiler/mosaic titiler/application
Ready to use/deploy images can be found on Docker Hub and AWS public ECR registery.
docker run --name titiler \
-p 8000:8000 \
--env PORT=8000 \
--env WORKERS_PER_CORE=1 \
--rm -it developmentseed/titiler
docker run --name titiler \
-p 8000:8000 \
--env PORT=8000 \
--env WORKERS_PER_CORE=1 \
--rm -it public.ecr.aws/developmentseed/titiler
- Built the docker locally
$ git clone https://github.com/developmentseed/titiler.git
$ cd titiler
$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_ACCESS_KEY=...
$ docker-compose build
$ docker-compose up
Some options can be set via environment variables, see: https://github.com/tiangolo/uvicorn-gunicorn-docker#advanced-usage
titiler/ - titiler modules.
├── application/ - Titiler's `Application` package
├── core/ - Titiler's `Core` package
└── mosaic/ - Titiler's `Mosaic` package
See CONTRIBUTING.md
See LICENSE
Created by Development Seed
See contributors for a listing of individual contributors.
See CHANGES.md.