A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.
Project description
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
. - MultiDimensional dataset support via Xarray
- 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 Core package contains libraries to help create a dynamic tiler for COG and STAC |
|
titiler.xarray | The xarray package contains libraries to help create a dynamic tiler for Zarr/NetCDF datasets |
|
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 |
Installation
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.xarray
# 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/xarray -e src/titiler/extensions -e src/titiler/mosaic -e src/titiler/application
python -m pip install uvicorn
uvicorn titiler.application.main:app --reload
Docker
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
- 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
├── extensions/ - Titiler's `Extensions` package
├── xarray/ - Titiler's `Xarray` 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file titiler-0.19.1.tar.gz
.
File metadata
- Download URL: titiler-0.19.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcc42637a37b6b5837c8e5006210b67826fb30c209e60cb54a8dae5754f4a868 |
|
MD5 | 0e0decde3882fefe3f8c029506c78d69 |
|
BLAKE2b-256 | 205b905e43695d4efcb4a293f9236fb8c58dba8e6f8d5921f0adacd62e58d91f |
File details
Details for the file titiler-0.19.1-py3-none-any.whl
.
File metadata
- Download URL: titiler-0.19.1-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac19c3ff849112949325968c411fafe61bb3a1be2ae9b9bdc80d3a7a9265b714 |
|
MD5 | c90457966982df0175817a9c49face41 |
|
BLAKE2b-256 | 515b40025b7e68b7d78a16f377571cae49259f72ca1b6e5c6cc82b0f978823b6 |