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
.
morecantile
.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.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, STAC and MosaicJSON |
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.extensions
# python -m pip install titiler.mosaic
# python -m pip install titiler.application (also installs core, extensions 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
python -m pip install -U pip
python -m pip install -e src/titiler/core -e src/titiler/extensions -e src/titiler/mosaic -e src/titiler/application
python -m pip install uvicorn
uvicorn titiler.application.main:app --reload
Ready to use/deploy images can be found on Github registry.
docker run --name titiler \
-p 8000:8000 \
--env PORT=8000 \
--env WORKERS_PER_CORE=1 \
--rm -it ghcr.io/developmentseed/titiler:latest
git clone https://github.com/developmentseed/titiler.git
cd titiler
docker compose up --build titiler # or titiler-uvicorn
Some options can be set via environment variables, see: https://github.com/tiangolo/uvicorn-gunicorn-docker#advanced-usage
## Project structure
src/titiler/ - titiler modules.
├── application/ - Titiler's Application
package
├── extensions/ - Titiler's Extensions
package
├── core/ - Titiler's Core
package
└── mosaic/ - Titiler's Mosaic
package
## Contribution & Development
See [CONTRIBUTING.md](https://github.com/developmentseed/titiler/blob/main/CONTRIBUTING.md)
## License
See [LICENSE](https://github.com/developmentseed/titiler/blob/main/LICENSE)
## Authors
Created by [Development Seed](<http://developmentseed.org>)
See [contributors](https://github.com/developmentseed/titiler/graphs/contributors) for a listing of individual contributors.
## Changes
See [CHANGES.md](https://github.com/developmentseed/titiler/blob/main/CHANGES.md).