TiTiler backend for openEO.
Project description
openEO by TiTiler
TiTiler backend for openEO
Overview
titiler-openeo is a TiTiler backend implementation for openEO developed by and
.
The main goal of this project is to provide a light and fast backend for openEO services and processes using the TiTiler engine. This simplicity comes with some specific implementation choices like the type of data managed by the backend. It is focused on image raster data that can be processed on-the-fly and served as tiles or as light dynamic raw data. A concept note is available here to describe in more detail the implementation choices.
The application provides with a minimal openEO API (L1A and L1C).
Features
- STAC API integration with external STAC services
- Synchronous processing capabilities
- Various output formats (e.g., JPEG, PNG)
- Multiple supported processes
- Dynamic tiling services
- FastAPI-based application
- Middleware for CORS, compression, and caching
- Enhanced RasterStack data model with temporal dimension support
- LazyRasterStack implementation with concurrent execution and intelligent caching
Installation
uv is the recommended way to install the project's runtime dependencies:
uv sync
Usage
Once dependencies are installed, copy one of the sample environment files (e.g. .env.eoapi) and start the API:
cp .env.eoapi .env
export $(cat .env | xargs)
uvicorn titiler.openeo.main:app --host 0.0.0.0 --port 8081
Configuration
Configuration settings can be provided via environment variables. The following settings are available:
- TITILER_OPENEO_STAC_API_URL: URL of the STAC API with the collections to be used
- TITILER_OPENEO_STORE_URL: URL of the openEO service/UDP store json file
In this repository, 2 .env sample files are provided:
-
.env.eoapithat uses the Earth Observation API (EOAPI).TITILER_OPENEO_STAC_API_URL="https://stac.eoapi.dev" TITILER_OPENEO_STORE_URL="services/eoapi.json"
-
.env.cdsethat uses the Copernicus Data Space Ecosystem (CDSE)TITILER_OPENEO_STAC_API_URL="https://stac.dataspace.copernicus.eu/v1" TITILER_OPENEO_STORE_URL="services/copernicus.json"
In order to access asset object store and to retrieve data efficiently, it requires to set additional environment variables:
AWS_S3_ENDPOINT=eodata.dataspace.copernicus.eu # CDSE S3 endpoint URL AWS_ACCESS_KEY_ID=<your_access_key> # S3 access key AWS_SECRET_ACCESS_KEY=<your_secret_key> # S3 secret key AWS_VIRTUAL_HOSTING=FALSE # Disable virtual hosting CPL_VSIL_CURL_CACHE_SIZE=200000000 # Global LRU cache size GDAL_HTTP_MULTIPLEX=TRUE # Enable HTTP multiplexing GDAL_CACHEMAX=500 # Set GDAL cache size GDAL_INGESTED_BYTES_AT_OPEN=50000 # Open a larger bytes range when reading GDAL_HTTP_MERGE_CONSECUTIVE_RANGES=YES # Merge consecutive ranges VSI_CACHE_SIZE=5000000 # Set VSI cache size VSI_CACHE=TRUE # Enable VSI cache
visit 'Access to EO data via S3' for information on how to access the Copernicus Data Space Ecosystem (CDSE) data via S3.
Contributing
See CONTRIBUTING.md for development setup, testing, and documentation workflows.
License
See LICENSE
Authors
Created by Development Seed and Sinergise.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file titiler_openeo-0.14.1.tar.gz.
File metadata
- Download URL: titiler_openeo-0.14.1.tar.gz
- Upload date:
- Size: 208.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98dacfa69a31d7c76952d6e124f18166faabc00065a27fb512cee92bb0c54cec
|
|
| MD5 |
e6a569d4f98fe8a6132083cf384a0015
|
|
| BLAKE2b-256 |
0fde16bab7000a3a75c5db49635eb9e40d1f5381d26bba6db268211f0f6aac69
|
Provenance
The following attestation bundles were made for titiler_openeo-0.14.1.tar.gz:
Publisher:
release-please.yml on sentinel-hub/titiler-openeo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
titiler_openeo-0.14.1.tar.gz -
Subject digest:
98dacfa69a31d7c76952d6e124f18166faabc00065a27fb512cee92bb0c54cec - Sigstore transparency entry: 1206005670
- Sigstore integration time:
-
Permalink:
sentinel-hub/titiler-openeo@d31fc8d0ec2cc5a1d7590029969849b6ddec1e0e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sentinel-hub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@d31fc8d0ec2cc5a1d7590029969849b6ddec1e0e -
Trigger Event:
push
-
Statement type:
File details
Details for the file titiler_openeo-0.14.1-py3-none-any.whl.
File metadata
- Download URL: titiler_openeo-0.14.1-py3-none-any.whl
- Upload date:
- Size: 276.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1629589c5bd1a2a40e1f12fb03abffd146994e5e6a94d797fc06eeaa877d7cfe
|
|
| MD5 |
afc01516b764e6dfeb9325235ea4dc59
|
|
| BLAKE2b-256 |
6d581cee04e11a45fd76dc123fbed17ec38e97bea0b27988b8a181f33b0c36df
|
Provenance
The following attestation bundles were made for titiler_openeo-0.14.1-py3-none-any.whl:
Publisher:
release-please.yml on sentinel-hub/titiler-openeo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
titiler_openeo-0.14.1-py3-none-any.whl -
Subject digest:
1629589c5bd1a2a40e1f12fb03abffd146994e5e6a94d797fc06eeaa877d7cfe - Sigstore transparency entry: 1206005672
- Sigstore integration time:
-
Permalink:
sentinel-hub/titiler-openeo@d31fc8d0ec2cc5a1d7590029969849b6ddec1e0e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sentinel-hub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@d31fc8d0ec2cc5a1d7590029969849b6ddec1e0e -
Trigger Event:
push
-
Statement type: