[package]
name = "martin-mbtiles"
version = "0.6.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"]
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
log.workspace = true
martin-tile-utils.workspace = true
serde.workspace = true
serde_json.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
pretty_assertions.workspace = true
rstest.workspace = true

[lib]
path = "src/lib.rs"

[[bin]]
name = "mbtiles"
path = "src/bin/main.rs"
required-features = ["cli"]