Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stadiamaps/pmtiles-rs
Rust implementation of PMTiles
https://github.com/stadiamaps/pmtiles-rs
Last synced: about 15 hours ago
JSON representation
Rust implementation of PMTiles
- Host: GitHub
- URL: https://github.com/stadiamaps/pmtiles-rs
- Owner: stadiamaps
- License: apache-2.0
- Created: 2022-10-21T21:55:23.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-20T10:35:00.000Z (about 2 months ago)
- Last Synced: 2024-10-31T11:55:07.960Z (7 days ago)
- Language: Rust
- Size: 4.43 MB
- Stars: 57
- Watchers: 7
- Forks: 9
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-georust - PMTiles (for Rust) - Rust implementation of PMTiles (Watchlist)
README
# PMTiles (for Rust)
[![GitHub](https://img.shields.io/badge/github-stadiamaps/pmtiles--rs-8da0cb?logo=github)](https://github.com/stadiamaps/pmtiles-rs)
[![crates.io version](https://img.shields.io/crates/v/pmtiles.svg)](https://crates.io/crates/pmtiles)
[![docs.rs docs](https://docs.rs/pmtiles/badge.svg)](https://docs.rs/pmtiles)
[![crates.io version](https://img.shields.io/crates/l/pmtiles.svg)](https://github.com/stadiamaps/pmtiles-rs/blob/main/LICENSE-APACHE)
[![CI build](https://github.com/stadiamaps/pmtiles-rs/workflows/CI/badge.svg)](https://github.com/stadiamaps/pmtiles-rs/actions)This crate implements the [PMTiles v3 spec](https://github.com/protomaps/PMTiles/blob/master/spec/v3/spec.md),
originally created by Brandon Liu for Protomaps.## Features
- Opening and validating PMTile archives
- Querying tiles
- Backends supported:
- Async `mmap` (Tokio) for local files
- Async `http` and `https` (Reqwuest + Tokio) for URLs
- Async `s3` (Rust-S3 + Tokio) for S3-compatible buckets## Plans & TODOs
- [ ] Documentation and example code
- [ ] Support writing and conversion to and from MBTiles + `x/y/z`
- [ ] Support additional backends (sync `mmap` and `http` at least)
- [ ] Support additional async styles (e.g., `async-std`)PRs welcome!
## Development
* This project is easier to develop with [just](https://github.com/casey/just#readme), a modern alternative to `make`. Install it with `cargo install just`.
* To get a list of available commands, run `just`.
* To run tests, use `just test`.## License
Licensed under either of
* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or )
* MIT license ([LICENSE-MIT](LICENSE-MIT) or )
at your option.### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the
Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.## Test Data License
Some PMTile fixtures copied from official [PMTiles repository](https://github.com/protomaps/PMTiles/commit/257b41dd0497e05d1d686aa92ce2f742b6251644).