Skip to content

drnextgis/titiler

 
 

Repository files navigation

A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.

Test Coverage Package version Downloads Downloads Docker


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

Packages

Starting with version 0.3.0, the TiTiler python module has been splitted into a set of python namespace packages: titiler.{package}.

  • titiler.core

    The Core package contains libraries to help creating dynamic tiler for COG and STAC.

  • titiler.mosaic

    The mosaic package contains libraries to help creating 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.

Installation

$ 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

Docker

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

Project structure

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.

Packages

No packages published

Languages

  • Python 66.4%
  • HTML 32.3%
  • Other 1.3%