Metadata-Version: 2.4
Name: titiler-core
Version: 1.2.1
Summary: A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.
Project-URL: Homepage, https://developmentseed.org/titiler/
Project-URL: Documentation, https://developmentseed.org/titiler/
Project-URL: Issues, https://github.com/developmentseed/titiler/issues
Project-URL: Source, https://github.com/developmentseed/titiler
Project-URL: Changelog, https://developmentseed.org/titiler/release-notes/
Author-email: Vincent Sarago <vincent@developmentseed.com>
License: MIT
License-File: LICENSE
Keywords: COG,Dynamic tile server,Fastapi,GDAL,MosaicJSON,OGC,Rasterio,STAC
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: >=3.11
Requires-Dist: fastapi>=0.108.0
Requires-Dist: geojson-pydantic<3.0,>=1.1.2
Requires-Dist: jinja2<4.0.0,>=2.11.2
Requires-Dist: morecantile
Requires-Dist: numpy
Requires-Dist: pydantic~=2.0
Requires-Dist: rasterio
Requires-Dist: rio-tiler<9.0,>=8.0
Requires-Dist: simplejson
Requires-Dist: typing-extensions>=4.6.1
Provides-Extra: telemetry
Requires-Dist: opentelemetry-api; extra == 'telemetry'
Requires-Dist: opentelemetry-exporter-otlp; extra == 'telemetry'
Requires-Dist: opentelemetry-instrumentation-fastapi; extra == 'telemetry'
Requires-Dist: opentelemetry-instrumentation-logging; extra == 'telemetry'
Requires-Dist: opentelemetry-sdk; extra == 'telemetry'
Description-Content-Type: text/markdown

## titiler.core

Core of Titiler's application. Contains blocks to create dynamic tile servers.

## Installation

```bash
python -m pip install -U pip

# From Pypi
python -m pip install titiler.core

# Or from sources
git clone https://github.com/developmentseed/titiler.git
cd titiler && python -m pip install -e src/titiler/core
```

## How To

```python
from fastapi import FastAPI
from titiler.core.factory import TilerFactory

# Create a FastAPI application
app = FastAPI(
    description="A lightweight Cloud Optimized GeoTIFF tile server",
)

# Create a set of COG endpoints
cog = TilerFactory()

# Register the COG endpoints to the application
app.include_router(cog.router, tags=["Cloud Optimized GeoTIFF"])
```

## Package structure

```
titiler/
 └── core/
    ├── tests/                   - Tests suite
    └── titiler/core/            - `core` namespace package
        ├── algorithm/
        |   ├── base.py          - ABC Base Class for custom algorithms
        |   ├── dem.py           - Elevation data related algorithms
        |   └── index.py         - Simple band index algorithms
        ├── models/
        |   ├── response.py      - Titiler's response models
        |   ├── mapbox.py        - Mapbox TileJSON pydantic model
        |   └── OGC.py           - Open GeoSpatial Consortium pydantic models (TileMatrixSets...)
        ├── resources/
        |   ├── enums.py         - Titiler's enumerations (e.g MediaType)
        |   └── responses.py     - Custom Starlette's responses
        ├── templates/
        |   ├── map.html         - Simple Map viewer (built with leaflet)
        |   └── wmts.xml         - OGC WMTS document template
        ├── dependencies.py      - Titiler FastAPI's dependencies
        ├── errors.py            - Errors handler factory
        ├── middleware.py        - Starlette middlewares
        ├── factory.py           - Dynamic tiler endpoints factories
        ├── routing.py           - Custom APIRoute class
        ├── telemetry.py         - OpenTelemetry tracing functions
        └── utils.py             - Titiler utility functions
```
