titiler
                                
                                 titiler copied to clipboard
                                
                                    titiler copied to clipboard
                            
                            
                            
                        Build your own Raster dynamic map tile services
   
  
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.
Features
- 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)
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 Corepackage contains libraries to help create a  dynamic tiler for COG and STAC | |
| titiler.mosaic | The mosaicpackage contains libraries to help create a dynamic tiler for MosaicJSON (addscogeo-mosaicrequirement) | |
| titiler.application | TiTiler's demopackage. Contains a FastAPI application with full support of COG, STAC and MosaicJSON | 
Installation
To install from PyPI and run:
$ pip install -U pip
$ pip install uvicorn
$ pip install titiler.{package}
# e.g.,
# pip install titiler.core
# pip install titiler.mosaic
# pip install titiler.application (also installs core and mosaic)
$ uvicorn titiler.application.main:app
To install from sources and run for development:
$ git clone https://github.com/developmentseed/titiler.git
$ cd titiler
$ pip install -e src/titiler/core -e src/titiler/mosaic -e src/titiler/application
$ pip install uvicorn
$ 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 --name titiler \
    -p 8000:8000 \
    --env PORT=8000 \
    --env WORKERS_PER_CORE=1 \
    --rm -it ghcr.io/developmentseed/titiler:latest
- Built the docker locally
$ 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
 ├── 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.