Skip to main content

Kepler Raster Server

A raster tile server built on top of TiTiler by Development Seed, providing terrain mesh and STAC mosaic capabilities. All TiTiler licenses and attributions apply to this project.

Features

  • Terrain Mesh Generation: Generate quantized mesh terrain tiles for 3D visualization for STAC raster tiles and .pmtiles in raster format
  • STAC Mosaic Support: Dynamic STAC API integration for tile serving

Installation

Local Development

  1. Clone the repository:
git clone https://github.com/yourusername/kepler-raster-server.git
cd kepler-raster-server
  1. Build and run with Docker locally:
# Enable Docker BuildKit for better caching
export DOCKER_BUILDKIT=1
docker-compose up --build titiler

The raster tile server will be available at http://localhost:8000 and can be used to setup a raster tile layer in kepler.gl during development.

API Endpoints

The following endpoints are required for raster tile layer in kepler.gl.

STAC Items

  • /cog/tiles/WebMercatorQuad/{z}/{x}/{y}.npy - Get stac items in npy format

STAC Mosaic

  • /stac/mosaic/tiles/{z}/{x}/{y}.npy - Get mosaic tiles in npy format

Terrain Mesh

  • /mesh/tiles/{z}/{x}/{y}.terrain - Get quantized mesh suitable with QuantizedMeshLoader from loaders.gl

Deployment

AWS Lambda Deployment

Follow the TiTiler AWS Lambda deployment guide for serverless deployment. Note that you'll need enough concurrency to support lambda instance per request. In kepler.gl at this moment raster tile layer issues 6 requests per raster server during loading (or 12 when elevation meshes are enabled). Make sure to setup enough Lambda concurrency, reserved concurency or provisioned concurrency to prevent 503 Service not available message when there are more requests then available simultaneous Lambda instances. Make sure to control your expenses and don't share your server URL publicly unless intended.

If you need to process many requests concurrently more reliably:

  • Use AWS Fargate, ECS, or EC2 where multi-threaded or async server logic is supported
  • See the TiTiler AWS deployment guide for more details

Using in Your Application

To use the server in your Python application:

from kepler_raster_server import app as kepler_app

Publishing to PyPI

To publish a new version to PyPI:

  1. Update the version in pyproject.toml
  2. Run the publish script:
./scripts/publish.sh

License

This project is licensed under the MIT License - see the LICENSE file for details.

Attribution

This project is built on top of TiTiler by Development Seed, which is also licensed under the MIT License. All TiTiler licenses and attributions apply to this project.

Credits

  • TiTiler by Development Seed - The base tile server implementation
  • Development Seed - For their excellent work on TiTiler and related geospatial tools

Metadata

Release files for kepler-raster-server 0.0.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kepler-raster-server 0.0.11
File Size Uploaded Provenance
kepler_raster_server-0.0.11.tar.gz 14.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kepler-raster-server 0.0.11
File Interpreter ABI Platform
kepler_raster_server-0.0.11-py3-none-any.whl Python 3 none any Details

Total release size: 29.6 kB

Release files / kepler_raster_server-0.0.11.tar.gz

Download URL kepler_raster_server-0.0.11.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
885208140c808136cf2eaa490d78506ad0add2dd31c6b122e6f0a2db55de68dd
BLAKE2b-256 checksum
How to use checksums
6af55232076126b87ce9a01927b811038075338fe699082f96f6e2ce7e0b2136
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.7

Release files / kepler_raster_server-0.0.11-py3-none-any.whl

Download URL kepler_raster_server-0.0.11-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b5cc6bcbf966c81096d56cdec193da7a9e908e5bf5b24b8cc038e22aac3eccf
BLAKE2b-256 checksum
How to use checksums
415be9b0a565018a3d758f1d3b28b19b2fcf33ed23a45302844f26aa3a82ddd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.7

Security for kepler-raster-server 0.0.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.11 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page