darrenwiens / titiler

A dynamic Web Map tile server

Home Page:https://developmentseed.org/titiler/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 lightweight application (FastAPI) focused on creating web map tiles dynamically from Cloud Optimized GeoTIFF, STAC or MosaicJSON.

Note: This project is the descendant of cogeo-tiler and cogeo-mosaic-tiler.

Features

Installation

$ pip install -U pip

# From Pypi
$ pip install titiler

# Or from sources
$ git clone https://github.com/developmentseed/titiler.git
$ cd titiler && pip install -e .

Launch Application

$ uvicorn titiler.main:app --reload

Or with Docker

$ 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

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

Some options can be set via environment variables, see: https://github.com/tiangolo/uvicorn-gunicorn-docker#advanced-usage

Project structure

titiler/                         - titiler python module.
 ├── custom/                     - Custom colormap and TMS grids.
 ├── endpoints                   - API routes.
 │   ├── cog.py                  - COG related endpoints.
 │   ├── stac.py                 - STAC related endpoints.
 │   ├── mosaic.py               - MosaicJSON related endpoints.
 │   ├── factory.py              - TiTiler Router Factories.
 │   └── tms.py                  - TileMatrixSets endpoints.
 ├── models/                     - pydantic models for this application.
 ├── resources/                  - application resources (enums, constants, etc.).
 ├── templates/                  - html/xml models.
 ├── middleware.py               - Custom Starlette middlewares.
 ├── dependencies.py             - API dependencies.
 ├── errors.py                   - API custom error handling.
 ├── main.py                     - FastAPI application creation and configuration.
 ├── settings.py                 - application configuration.
 └── utils.py                    - utility functions.

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.

About

A dynamic Web Map tile server

https://developmentseed.org/titiler/

License:MIT License


Languages

Language:Python 64.1%Language:HTML 34.7%Language:Dockerfile 0.6%Language:Mustache 0.5%Language:Shell 0.2%