[[bench]]
harness = false
name = "iai_benchmarks"
path = "benches/iai_benchmarks.rs"
[[bench]]
harness = false
name = "section_detection"
path = "benches/section_detection.rs"
[[bin]]
name = "tracematch-cli"
path = "src/bin/cli.rs"
required-features = ["cli"]
[[bin]]
name = "uniffi-bindgen"
path = "uniffi-bindgen.rs"
[build-dependencies.uniffi]
features = ["build"]
optional = true
version = "0.30"
[dependencies.base64]
optional = true
version = "0.22"
[dependencies.chrono]
optional = true
version = "0.4"
[dependencies.clap]
features = ["derive"]
optional = true
version = "4.4"
[dependencies.env_logger]
optional = true
version = "0.11"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.geo]
version = "0.29"
[dependencies.gpx]
optional = true
version = "0.10"
[dependencies.log]
version = "0.4"
[dependencies.lru]
version = "0.12"
[dependencies.once_cell]
version = "1.19"
[dependencies.rayon]
optional = true
version = "1.10"
[dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
optional = true
version = "0.12"
[dependencies.rmp-serde]
optional = true
version = "1.1"
[dependencies.rstar]
version = "0.12"
[dependencies.rusqlite]
features = ["bundled"]
optional = true
version = "0.31"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.tokio]
features = ["rt-multi-thread", "sync"]
optional = true
version = "1"
[dependencies.uniffi]
features = ["cli"]
optional = true
version = "0.30"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"
[dev-dependencies.iai-callgrind]
version = "0.14"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.tokio]
features = ["rt-multi-thread", "macros"]
version = "1"
[[example]]
name = "basic_matching"
path = "examples/basic_matching.rs"
[features]
cli = ["gpx", "clap", "env_logger", "chrono", "parallel"]
default = ["ffi", "parallel", "http", "persistence"]
ffi = ["uniffi", "parallel"]
http = ["reqwest", "tokio", "futures", "base64"]
parallel = ["rayon"]
persistence = ["rusqlite", "rmp-serde"]
[lib]
crate-type = ["rlib", "staticlib", "cdylib"]
name = "tracematch"
path = "src/lib.rs"
[package]
authors = ["Evan Thomas <evan@evanjt.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["algorithms", "science::geo"]
description = "High-performance GPS route matching and activity analysis"
edition = "2024"
keywords = ["gps", "route", "matching", "geospatial", "fitness"]
license = "Apache-2.0"
name = "tracematch"
publish = true
readme = "README.md"
repository = "https://github.com/evanjt/route-matcher"
version = "0.0.8"
[profile.release]
codegen-units = 1
lto = true
opt-level = "s"
strip = false
[profile.release-mobile]
inherits = "release"
panic = "abort"
[target.'cfg(target_os = "android")'.dependencies.android_logger]
version = "0.14"
[[test]]
name = "activity_store_test"
path = "tests/activity_store_test.rs"
[[test]]
name = "engine"
path = "tests/engine.rs"
[[test]]
name = "error"
path = "tests/error.rs"
[[test]]
name = "ffi_integration"
path = "tests/ffi_integration.rs"
[[test]]
name = "geo_utils"
path = "tests/geo_utils.rs"
[[test]]
name = "grouping"
path = "tests/grouping.rs"
[[test]]
name = "heatmap"
path = "tests/heatmap.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"
[[test]]
name = "matching"
path = "tests/matching.rs"
[[test]]
name = "mod_test"
path = "tests/mod_test.rs"
[[test]]
name = "route_grouper_test"
path = "tests/route_grouper_test.rs"
[[test]]
name = "section_detection"
path = "tests/section_detection.rs"
[[test]]
name = "section_manipulation"
path = "tests/section_manipulation.rs"
[[test]]
name = "sections"
path = "tests/sections.rs"
[[test]]
name = "signature_store_test"
path = "tests/signature_store_test.rs"
[[test]]
name = "spatial_index_test"
path = "tests/spatial_index_test.rs"
[[test]]
name = "union_find"
path = "tests/union_find.rs"