# 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 = "2021"
rust-version = "1.82"
name = "esphome-client"
version = "0.1.5"
authors = ["Daan Sieben"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ESPHome client library for Rust"
homepage = "https://github.com/daanoz/esphome-client"
documentation = "https://docs.rs/esphome-client"
readme = "README.md"
keywords = [
    "esphome",
    "iot",
    "smart-home",
    "home-automation",
    "api",
]
categories = [
    "network-programming",
    "api-bindings",
]
license = "MIT"
repository = "https://github.com/daanoz/esphome-client"

[features]
api-1-10 = []
api-1-12 = []
api-1-13 = []
api-1-14 = []
api-1-8 = []
api-1-9 = []
default = ["discovery"]
discovery = [
    "dep:mdns-sd",
    "tokio/rt",
    "tokio/sync",
]

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

[[example]]
name = "device_discovery"
path = "examples/device_discovery.rs"

[[example]]
name = "list_all_entities"
path = "examples/list_all_entities.rs"

[[example]]
name = "noise_connection"
path = "examples/noise_connection.rs"

[[example]]
name = "plain_connection"
path = "examples/plain_connection.rs"

[[example]]
name = "sensor_monitoring"
path = "examples/sensor_monitoring.rs"

[[example]]
name = "switch_control"
path = "examples/switch_control.rs"

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

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

[dependencies.base64]
version = "0.22.1"

[dependencies.mdns-sd]
version = ">0.15.0"
optional = true

[dependencies.prost]
version = "0.14.1"

[dependencies.snow]
version = "0.9.6"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1"
features = [
    "io-util",
    "net",
    "time",
]

[dependencies.tracing]
version = "0.1.41"

[dev-dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
]

[dev-dependencies.tracing-subscriber]
version = "0.3"

[build-dependencies.heck]
version = "0.5.0"

[build-dependencies.proc-macro2]
version = "1.0.95"

[build-dependencies.prost-build]
version = "0.14.1"

[build-dependencies.quote]
version = "1.0.40"

[build-dependencies.regex]
version = "1.11.1"
