[package]
edition = "2024"
rust-version = "1.87"
name = "fast-mvt"
version = "0.6.2"
authors = ["Yuri Astrakhan <YuriAstrakhan@gmail.com>"]
build = "build.rs"
exclude = [
".github/**",
".gitignore",
"fixtures/**",
"fuzz/**",
"justfile",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast Mapbox Vector Tile (MVT) reader and writer"
readme = "README.md"
keywords = [
"tile",
"mvt",
"map",
]
categories = ["science::geo"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/nyurik/fast-mvt"
[features]
arbitrary = [
"dep:arbitrary",
"buffa/arbitrary",
]
cli = [
"reader",
"dep:clap",
]
codegen = ["dep:buffa-build"]
default = [
"reader",
"writer",
"json",
]
json = [
"dep:serde",
"dep:serde_json",
"buffa/json",
]
reader = []
writer = ["dep:dup-indexer"]
[lib]
name = "fast_mvt"
path = "src/lib.rs"
[[bin]]
name = "mvt"
path = "src/main.rs"
required-features = ["cli"]
[[example]]
name = "profile_decoder"
path = "examples/profile_decoder.rs"
required-features = ["reader"]
[[test]]
name = "corrupted_tiles"
path = "tests/corrupted_tiles.rs"
[[test]]
name = "dump_fixture"
path = "tests/dump_fixture.rs"
[[test]]
name = "mvt_fixtures"
path = "tests/mvt_fixtures.rs"
[[test]]
name = "round_trip"
path = "tests/round_trip.rs"
[[bench]]
name = "decoder"
path = "benches/decoder.rs"
harness = false
required-features = [
"reader",
"writer",
]
[[bench]]
name = "encoder"
path = "benches/encoder.rs"
harness = false
required-features = [
"reader",
"writer",
]
[dependencies.arbitrary]
version = "1.4"
features = ["derive"]
optional = true
[dependencies.buffa]
version = "0.9.0"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.dup-indexer]
version = "0.5.0"
optional = true
[dependencies.geo-types]
version = "0.7.19"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.150"
optional = true
[dependencies.thiserror]
version = "2.0.11"
[dependencies.usize_cast]
version = "1.1.0"
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.insta]
version = "1.43"
[dev-dependencies.mvt]
version = "0.14.0"
[dev-dependencies.mvt-reader]
version = "2.3.0"
[dev-dependencies.prost]
version = "0.14.3"
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.test_each_file]
version = "0.3.5"
[dev-dependencies.tinymvt]
version = "0.3.0"
[build-dependencies.buffa-build]
version = "0.9.0"
optional = true
[lints.clippy]
disallowed_methods = "deny"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
multiple_crate_versions = "allow"
panic_in_result_fn = "warn"
todo = "warn"
too_many_lines = "allow"
unimplemented = "warn"
unwrap_used = "warn"
use_self = "warn"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unused_qualifications = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(fuzzing)"]