Skip to main content

Tools to generate tiles from WMS or Mapnik, to S3, Berkeley DB, MBTiles, or local filesystem in WMTS layout using Amazon cloud services.

Project description

TileCloud Chain

The goal of TileCloud Chain is to provide tools around tile generation on a chain like:

Source: WMS, Mapnik.

Optionally using an SQS queue, AWS host, SNS topic.

Destination in WMTS layout, on S3, on Berkeley DB (bsddb), on MBTiles, or on local filesystem.


  • Generate tiles.
  • Drop empty tiles.
  • Drop tiles outside a geometry or a bbox.
  • Use MetaTiles.
  • Generate the legend images.
  • Generate GetCapabilities.
  • Generate OpenLayers example page.
  • Obtain the hash of an empty tile.
  • In the future, measure tile generation speed.
  • Calculate cost and generation time.
  • In the future, manage the AWS hosts that generate tiles.
  • Delete empty tiles.
  • Copy files between caches.
  • Be able to use an SQS queue to dispatch the generation.
  • Post processing the generated tiles.
  • ...

Legacy features:

  • bsddb support
  • sqlite (mbtiles) support
  • mapnik support (should be updated for Python3)


Screenshot of the admin page with queue stored on PostgreSQL:

TileCloud Chain

Get it

Create the config file tilegeneration/config.yaml see as example.


Only the latest release is supported and version < 1.11 contains security issues.

From sources

Build it:

git submodule update --recursive
python3 -m venv .build/venv
.build/venv/bin/pip install -r requirements.txt
.build/venv/bin/pip install -e .
.build/venv/bin/pip install -r dev-requirements.txt

Run prospector


Run the tests

Setup your environment:

touch tilecloud_chain/OpenLayers.js
docker build --tag camptocamp/tilecloud-chain .
docker-compose -p tilecloud up

To run the tests:

docker-compose -p tilecloud exec test python nosetests --logging-filter=tilecloud,tilecloud_chain --attr '!'nopy3


As documentation you can read the USAGE.rst and the configuration reference.


You can add that in your workspace configuration to use the JSON schema:

  "yaml.schemas": {
    "../tilecloud-chain/tilecloud_chain/schema.json": [


Install the pre-commit hooks:

pip install pre-commit
pre-commit install --allow-missing-config

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

tilecloud_chain-1.20.0.tar.gz (174.0 kB view hashes)

Uploaded source

Built Distribution

tilecloud_chain-1.20.0-py3-none-any.whl (202.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page