Fast GeoParquet to PMTiles converter
Project description
gpq-tiles
Fast GeoParquet → PMTiles converter in Rust.
⚠️ Work in Progress: Code is generated with Claude; take it with a grain of salt. A couple of known issues:
- We've had a regression since #63 and the conversion is hanging on large geoms again. I'm investigating.
- The library is not robust against self-intersections. I'm working on a port of Wagyu to Rust to address this. In the meantime, this library is definitely not production-ready. --Nissim
Install
cargo install gpq-tiles # CLI
pip install gpq-tiles # Python
Usage
gpq-tiles input.parquet output.pmtiles --min-zoom 0 --max-zoom 14
from gpq_tiles import convert
# Basic
convert("input.parquet", "output.pmtiles", min_zoom=0, max_zoom=14)
# With property filtering and progress
convert(
"buildings.parquet", "buildings.pmtiles",
include=["name", "height"],
progress_callback=lambda e: print(f"{e['phase']}: {e.get('total_tiles', '...')}")
)
Documentation
- Getting Started — Installation, basic usage, property filtering
- Advanced Usage — Performance tuning, streaming, CI/CD
- API Reference — CLI flags, Rust API, Python API
Development
git clone https://github.com/geoparquet-io/gpq-tiles.git && cd gpq-tiles
cargo build && cargo test
See CONTRIBUTING.md for details.
License
Apache-2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 gpq_tiles-0.6.0.tar.gz.
File metadata
- Download URL: gpq_tiles-0.6.0.tar.gz
- Upload date:
- Size: 329.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
617e32c9b3869f8ad554f77ec2f642ec68e4fd2cea097bf319d0ab4bb5eac2ac
|
|
| MD5 |
1d0efe13f201379f9b3e676fad1abdf5
|
|
| BLAKE2b-256 |
70dfa9c0c7faf4bc69bbe3c9be626eea0d9faaa357c110dec2165ea33ae87b2d
|
Provenance
The following attestation bundles were made for gpq_tiles-0.6.0.tar.gz:
Publisher:
release.yml on geoparquet-io/gpq-tiles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpq_tiles-0.6.0.tar.gz -
Subject digest:
617e32c9b3869f8ad554f77ec2f642ec68e4fd2cea097bf319d0ab4bb5eac2ac - Sigstore transparency entry: 1085159437
- Sigstore integration time:
-
Permalink:
geoparquet-io/gpq-tiles@2378f66e2285da0862df085ff33aea6991927a4b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/geoparquet-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2378f66e2285da0862df085ff33aea6991927a4b -
Trigger Event:
push
-
Statement type:
File details
Details for the file gpq_tiles-0.6.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: gpq_tiles-0.6.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34c85f39ef96885da963a785693fbdc713f7c7ca662c202fd2b56030e28002f4
|
|
| MD5 |
e3649baf94d33267fb2f970ef48b61df
|
|
| BLAKE2b-256 |
93f1645e4156db0a1000255c31607101f29d62c2df407e3005123e9402e399f6
|
Provenance
The following attestation bundles were made for gpq_tiles-0.6.0-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on geoparquet-io/gpq-tiles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpq_tiles-0.6.0-cp311-cp311-win_amd64.whl -
Subject digest:
34c85f39ef96885da963a785693fbdc713f7c7ca662c202fd2b56030e28002f4 - Sigstore transparency entry: 1085159866
- Sigstore integration time:
-
Permalink:
geoparquet-io/gpq-tiles@2378f66e2285da0862df085ff33aea6991927a4b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/geoparquet-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2378f66e2285da0862df085ff33aea6991927a4b -
Trigger Event:
push
-
Statement type:
File details
Details for the file gpq_tiles-0.6.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: gpq_tiles-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
584e2cba2030f72328bf900dd8b32a8d3dad56a359868da2bc36d596da5f25b5
|
|
| MD5 |
71b59168ac3f70f1b2d348b4f7fe274a
|
|
| BLAKE2b-256 |
1274a2f3ab3c7997779cda3705ec5cde047e66f80fd6e230d66c3f47f1e70d07
|
Provenance
The following attestation bundles were made for gpq_tiles-0.6.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on geoparquet-io/gpq-tiles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpq_tiles-0.6.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
584e2cba2030f72328bf900dd8b32a8d3dad56a359868da2bc36d596da5f25b5 - Sigstore transparency entry: 1085160373
- Sigstore integration time:
-
Permalink:
geoparquet-io/gpq-tiles@2378f66e2285da0862df085ff33aea6991927a4b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/geoparquet-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2378f66e2285da0862df085ff33aea6991927a4b -
Trigger Event:
push
-
Statement type:
File details
Details for the file gpq_tiles-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: gpq_tiles-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
421efb1d3d4bce9c9da2b653bf4ad00984942c465bd27b4691b077cf6e9965f4
|
|
| MD5 |
6a0e5497edd0469ba05d8c96eaec9e92
|
|
| BLAKE2b-256 |
741a9add0d413ce683e1461c449751756a0ee7ea3c3260bed1ff255cb3891c55
|
Provenance
The following attestation bundles were made for gpq_tiles-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on geoparquet-io/gpq-tiles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpq_tiles-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
421efb1d3d4bce9c9da2b653bf4ad00984942c465bd27b4691b077cf6e9965f4 - Sigstore transparency entry: 1085160850
- Sigstore integration time:
-
Permalink:
geoparquet-io/gpq-tiles@2378f66e2285da0862df085ff33aea6991927a4b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/geoparquet-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2378f66e2285da0862df085ff33aea6991927a4b -
Trigger Event:
push
-
Statement type: