canboat 9.1.0

NMEA 2000 decoding, encoding and live-bus access: the CANboat PGN database as a library, plus the canboat CLI (convert / interface / server / tui).
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.96"
name = "canboat"
version = "9.1.0"
authors = ["Kees Verruijt <kees@verruijt.net>"]
build = "build.rs"
exclude = ["parity/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "NMEA 2000 decoding, encoding and live-bus access: the CANboat PGN database as a library, plus the canboat CLI (convert / interface / server / tui)."
homepage = "https://canboat.github.io/canboat"
readme = "README.md"
keywords = [
    "nmea2000",
    "nmea",
    "canbus",
    "marine",
    "j1939",
]
categories = [
    "parser-implementations",
    "encoding",
    "hardware-support",
    "command-line-utilities",
]
license = "Apache-2.0"
repository = "https://github.com/canboat/canboat"
resolver = "2"

[package.metadata.docs.rs]
no-default-features = true
features = [
    "decode",
    "io",
    "raw",
    "raw-usb",
    "node",
    "bridge",
    "mdns",
    "nmea0183",
    "ais",
    "json-input",
]

[features]
ais = ["decode"]
bridge = [
    "io",
    "node",
    "dep:anyhow",
    "dep:serde",
    "dep:serde_json",
    "dep:world_magnetic_model",
]
cli = [
    "decode",
    "io",
    "node",
    "bridge",
    "nmea0183",
    "ais",
    "json-input",
    "dep:clap",
    "dep:env_logger",
    "dep:anyhow",
    "dep:serde",
    "dep:serde_json",
    "dep:tokio",
    "dep:crossterm",
    "dep:ratatui",
    "dep:futures",
    "dep:chrono",
    "dep:indexmap",
    "usb",
]
decode = [
    "dep:thiserror",
    "dep:smallvec",
    "dep:indexmap",
    "dep:itoa",
]
default = [
    "cli",
    "mdns",
]
io = [
    "raw",
    "dep:flate2",
    "dep:tar",
    "dep:libc",
]
json-input = [
    "decode",
    "dep:serde_json",
    "dep:anyhow",
    "dep:chrono",
]
mdns = [
    "bridge",
    "dep:mdns-sd",
]
nmea0183 = ["decode"]
node = ["decode"]
raw = [
    "decode",
    "dep:serialport",
    "dep:socket2",
    "dep:socketcan",
    "dep:libc",
]
raw-usb = [
    "raw",
    "dep:nusb",
]
usb = [
    "io",
    "raw-usb",
]

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

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

[[test]]
name = "api_demo"
path = "tests/api_demo.rs"

[[test]]
name = "convert_formats"
path = "tests/convert_formats.rs"

[[test]]
name = "format_message"
path = "tests/format_message.rs"

[[test]]
name = "golden"
path = "tests/golden.rs"

[[test]]
name = "live_output"
path = "tests/live_output.rs"

[[test]]
name = "read_api"
path = "tests/read_api.rs"

[dependencies.anyhow]
version = "1"
optional = true

[dependencies.chrono]
version = "0.4"
features = ["clock"]
optional = true
default-features = false

[dependencies.clap]
version = "4"
features = [
    "derive",
    "wrap_help",
]
optional = true

[dependencies.crossterm]
version = "0.29"
features = ["event-stream"]
optional = true

[dependencies.env_logger]
version = "0.11"
features = [
    "humantime",
    "auto-color",
]
optional = true
default-features = false

[dependencies.flate2]
version = "1"
optional = true

[dependencies.futures]
version = "0.3"
optional = true

[dependencies.indexmap]
version = "2"
optional = true

[dependencies.itoa]
version = "1"
optional = true

[dependencies.log]
version = "0.4"

[dependencies.mdns-sd]
version = "0.21"
features = ["logging"]
optional = true
default-features = false

[dependencies.nusb]
version = "0.2.7"
optional = true

[dependencies.ratatui]
version = "0.30"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
optional = true

[dependencies.serialport]
version = "4"
optional = true
default-features = false

[dependencies.smallvec]
version = "1"
features = ["union"]
optional = true

[dependencies.socket2]
version = "0.6"
features = ["all"]
optional = true

[dependencies.tar]
version = "0.4"
optional = true

[dependencies.thiserror]
version = "2"
optional = true

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "rt-multi-thread",
    "io-util",
    "macros",
    "sync",
    "net",
    "time",
    "fs",
]
optional = true

[dependencies.world_magnetic_model]
version = "1.2025.0"
optional = true

[build-dependencies.vergen-gitcl]
version = "10"
default-features = false

[target.'cfg(target_os = "linux")'.dependencies.socketcan]
version = "4"
optional = true

[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true