[package]
name = "mib-rs"
version = "0.7.0"
edition = "2024"
description = "SNMP MIB parser and resolver"
license = "MIT"
rust-version = "1.88"
repository = "https://github.com/lukeod/mib-rs"
documentation = "https://docs.rs/mib-rs"
readme = "README.md"
keywords = ["snmp", "mib", "smi", "network", "parser"]
categories = ["network-programming", "parser-implementations"]
exclude = ["testdata/corpus/primary/", "testdata/fixtures/"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

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

[dependencies]
thiserror = "2"
tracing = "0.1"
rayon = "1.11"
smallvec = { version = "1.15", features = ["union"] }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
petgraph = "0.8"
walkdir = "2"
dashmap = "6"
dirs = "6"
tracing-subscriber = { version = "0.3", features = ["fmt"], optional = true }

[features]
default = ["serde", "cli"]
serde = ["dep:serde", "dep:serde_json", "smallvec/serde"]
cli = ["dep:clap", "dep:tracing-subscriber"]

[dev-dependencies]
pretty_assertions = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"

[profile.release]
lto = true
codegen-units = 1
