martin/mbtiles/Cargo.toml
Yuri Astrakhan 2def6288f1
PMTiles cache, refactor file configs, modularize (#1094)
* Make it possible to have configuration specific to the file-based
config sections: pmtiles, mbtiles, and sprites.
* Implement PMTiles directory cache shared between all pmtiles (both
http and local), with configurable max cache size (in MB), or 0 to
disable. Defaults to 32MB (?)
* PMTiles now share web client instance, which optimizes connection
reuse in case multiple pmtiles reside on the same host
* Major refactoring to allow modular reuse, enabling the following build
features:
    * **postgres** - enable PostgreSQL/PostGIS tile sources
    * **pmtiles** - enable PMTile tile sources
    * **mbtiles** - enable MBTile tile sources
    * **fonts** - enable font sources
    * **sprites** - enable sprite sources
* Use justfile in the CI

Fixes #1093
2023-12-25 05:52:04 +00:00

57 lines
1.6 KiB
TOML

lints.workspace = true
[package]
name = "mbtiles"
version = "0.9.0"
authors = ["Yuri Astrakhan <YuriAstrakhan@gmail.com>", "MapLibre contributors"]
description = "A simple low-level MbTiles access and processing library, with some tile format detection and other relevant heuristics."
keywords = ["mbtiles", "maps", "tiles", "mvt", "tilejson"]
categories = ["science::geo", "database"]
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[features]
default = ["cli"]
cli = ["dep:anyhow", "dep:clap", "dep:env_logger", "dep:serde_yaml", "dep:tokio"]
[dependencies]
enum-display.workspace = true
futures.workspace = true
itertools.workspace = true
log.workspace = true
martin-tile-utils.workspace = true
serde.workspace = true
serde_json.workspace = true
serde_with.workspace = true
size_format.workspace = true
sqlite-hashes.workspace = true
sqlx.workspace = true
thiserror.workspace = true
tilejson.workspace = true
# Bin dependencies
anyhow = { workspace = true, optional = true }
clap = { workspace = true, optional = true }
env_logger = { workspace = true, optional = true }
serde_yaml = { workspace = true, optional = true }
tokio = { workspace = true, features = ["rt-multi-thread"], optional = true }
[dev-dependencies]
# For testing, might as well use the same async framework as the Martin itself
actix-rt.workspace = true
ctor.workspace = true
env_logger.workspace = true
insta = { workspace = true, features = ["toml", "yaml"] }
pretty_assertions.workspace = true
rstest.workspace = true
[lib]
path = "src/lib.rs"
[[bin]]
name = "mbtiles"
path = "src/bin/mbtiles.rs"
required-features = ["cli"]