[package]
name = "mdf4-rs"
version = "0.3.2"
edition = "2024"
license = "MIT OR Apache-2.0"
authors = ["Sigma Tactical Group contributors <https://github.com/sigmatactical-org>"]
repository = "https://github.com/sigmatactical-org/mdf4-rs"
homepage = "https://github.com/sigmatactical-org/mdf4-rs"
rust-version = "1.90.0"
readme = "README.md"
description = "mdf4-rs is a Rust library for working with Measurement Data Format (ASAM MDF4) files."
documentation = "https://docs.rs/mdf4-rs"
keywords = ["mdf4", "can", "dbc", "automotive", "no_std"]
categories = ["parsing", "embedded"]
exclude = [".github/", "examples/", "tests/", "benches/"]

[features]
default = ["std", "can", "dbc"]
std = ["alloc", "serde", "serde_json", "dbc-rs?/std"]
alloc = []
serde = ["dep:serde"]
can = ["dep:embedded-can"]
dbc = ["dep:dbc-rs", "alloc"]
compression = ["dep:miniz_oxide", "alloc"]

[dependencies]

[dependencies.serde]
version = "1.0"
default-features = false
features = ["derive", "alloc"]
optional = true

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.embedded-can]
version = "0.4.1"
optional = true

[dependencies.dbc-rs]
version = "0.5.2"
default-features = false
features = ["alloc"]
optional = true

[dependencies.miniz_oxide]
version = "0.9"
default-features = false
features = ["with-alloc"]
optional = true

[dev-dependencies]

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.embedded-can]
version = "0.4.1"

[dev-dependencies.dbc-rs]
version = "0.5.2"
default-features = false
features = ["std"]

[dev-dependencies.miniz_oxide]
version = "0.9"

[[bench]]
name = "index_benchmark"
harness = false

[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
collapsible_if = "allow"
uninlined_format_args = "allow"
