[package]
edition = "2024"
rust-version = "1.85"
name = "glimta"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A local-first Rust client for the classic IKEA TRADFRI gateway"
readme = "README.md"
keywords = [
"ikea",
"tradfri",
"coap",
"home-automation",
"iot",
]
categories = [
"api-bindings",
"network-programming",
]
license = "MIT"
repository = "https://github.com/Mik-pe/glimta"
[features]
cli = [
"network",
"dep:clap",
"dep:rpassword",
]
default = ["network"]
network = [
"dep:coap",
"dep:futures-core",
"dep:mdns-sd",
"dep:rand",
"dep:tokio",
"dep:webrtc-dtls",
]
[lib]
name = "glimta"
path = "src/lib.rs"
[[bin]]
name = "glimta"
path = "src/bin/glimta.rs"
required-features = ["cli"]
[[test]]
name = "protocol"
path = "tests/protocol.rs"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.coap]
version = "0.27"
features = ["dtls"]
optional = true
default-features = false
[dependencies.futures-core]
version = "0.3"
optional = true
[dependencies.mdns-sd]
version = "0.20"
optional = true
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.rpassword]
version = "7"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
]
optional = true
[dependencies.webrtc-dtls]
version = "0.8"
optional = true
[lints.clippy]
all = "warn"
pedantic = "warn"
[lints.rust]
unsafe_code = "forbid"