Skip to main content

TileDistillery

TileDistillery builds PMTiles vector-tile layers of the world, or part of it, from Geofabrik OSM extracts with tilemaker. You bring the tilemaker JSON config and Lua process script; TileDistillery spreads the extracts over many workers and merges each layer into one .pmtiles.

It runs anywhere that can run its three steps, and comes with reusable GitHub Actions workflows. It is a sibling of tilealchemist, which builds layers from a PMTiles archive instead; neither uses the other.

Getting started

New here? Build your first layer walks through both ways.

On GitHub Actions

name: Build my layer

on:
  workflow_dispatch:
  schedule:
    - cron: "0 3 * * 0"

jobs:
  build:
    uses: tilelab/tiledistillery/.github/workflows/_pipeline.yml@v1.0.0
    permissions:
      contents: read
    with:
      config: tiles/config.json
      process: tiles/process.lua
      layer: my-layer
      attribution: "My Layer, data (c) OpenStreetMap contributors, ODbL"
      # regions: europe/germany

  publish:
    needs: build
    uses: tilelab/tiledistillery/.github/workflows/_publish-release.yml@v1.0.0
    permissions:
      contents: write
    with:
      layer: my-layer
      tag: my-layer-latest
      title: "My Layer"

The layer comes back as the artifact my-layer-pmtiles; the publish job is optional. ci.yml builds two layers from one download.

Anywhere else

On macOS or Linux, or on Windows in WSL, with Python 3.11 or newer, Docker and tippecanoe's tile-join (brew install tippecanoe, apt install tippecanoe or built from source), in the directory holding tiles/:

pip install tiledistillery
tiledistillery plan --config tiles/config.json --process tiles/process.lua \
  --layer my-layer --attribution "My Layer, data (c) OpenStreetMap contributors, ODbL" \
  --regions europe/monaco,europe/andorra --shards 2
tiledistillery work --shard 0
tiledistillery work --shard 1
tiledistillery merge --layer my-layer

plan writes plan/. Each work builds one shard and may run on its own machine, given plan/ and the same files. merge needs every shard's parts/N/ and writes layers/my-layer.pmtiles. The documentation covers the rest.

License and attribution

The code is MIT-licensed. Layers built from OpenStreetMap data are © OpenStreetMap contributors under the Open Database License, which the attribution should name.

Metadata

Release files for tiledistillery 1.0.0

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

Source distribution (sdist)

Source distribution for tiledistillery 1.0.0
File Size Uploaded Provenance Actions
tiledistillery-1.0.0.tar.gz 16.4 kB With provenance Details for tiledistillery-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tiledistillery 1.0.0
File Interpreter ABI Platform Actions
tiledistillery-1.0.0-py3-none-any.whl Python 3 none any Details for tiledistillery-1.0.0-py3-none-any.whl

Total release size: 36.1 kB

Release files / tiledistillery-1.0.0.tar.gz

Download URL tiledistillery-1.0.0.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2e55c437ff7027dd1b5a18e92d66ab8b9fa720729e7d5b4428d88067a9525d2d
BLAKE2b-256 checksum
How to use checksums
a4bd5fcd18eef15800e562d9ef4e80ff438706862a961aadda20405689c78bfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.

Transparency log

Release files / tiledistillery-1.0.0-py3-none-any.whl

Download URL tiledistillery-1.0.0-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b2473008909bb0ce03d6672e2522fdfd22921ca5abebe2b7c60e0e61e8c0ac8
BLAKE2b-256 checksum
How to use checksums
5317dd392adcb5a77c73673df9d3ad2d1d2a2c8164db5cc6c04cfb0d7e829e61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.

Transparency log

Security for tiledistillery 1.0.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tiledistillery-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.

Transparency log

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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