esphome-native-api 2.1.0

Rust implementation of the ESPHome native API for communication with ESPHome devices, supporting both encrypted and plaintext connections.
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"
name = "esphome-native-api"
version = "2.1.0"
build = false
include = [
    "/LICENSE",
    "/README.md",
    "/Cargo.toml",
    "/Cargo.lock",
    "/src/*",
    "!/src/proto/.gitignore",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust implementation of the ESPHome native API for communication with ESPHome devices, supporting both encrypted and plaintext connections."
homepage = "https://github.com/UbiHome/esphome-native-api"
documentation = "https://docs.rs/esphome-native-api"
readme = "README.md"
keywords = [
    "esphome",
    "homeassistant",
]
categories = ["api-bindings"]
license = "MIT"
repository = "https://github.com/UbiHome/esphome-native-api"
resolver = "2"

[features]
default = [
    "std",
    "version_2026_6_2",
]
std = []
version_2025_10_0 = []
version_2025_10_1 = []
version_2025_10_2 = []
version_2025_10_3 = []
version_2025_10_4 = []
version_2025_10_5 = []
version_2025_11_0 = []
version_2025_11_1 = []
version_2025_11_2 = []
version_2025_11_3 = []
version_2025_11_4 = []
version_2025_11_5 = []
version_2025_12_0 = []
version_2025_12_1 = []
version_2025_12_2 = []
version_2025_12_3 = []
version_2025_12_4 = []
version_2025_12_5 = []
version_2025_12_6 = []
version_2025_12_7 = []
version_2025_2_1 = []
version_2025_2_2 = []
version_2025_3_0 = []
version_2025_3_1 = []
version_2025_3_2 = []
version_2025_3_3 = []
version_2025_4_0 = []
version_2025_4_1 = []
version_2025_4_2 = []
version_2025_5_0 = []
version_2025_5_1 = []
version_2025_5_2 = []
version_2025_6_0 = []
version_2025_6_1 = []
version_2025_6_2 = []
version_2025_6_3 = []
version_2025_7_0 = []
version_2025_7_1 = []
version_2025_7_2 = []
version_2025_7_3 = []
version_2025_7_4 = []
version_2025_7_5 = []
version_2025_8_0 = []
version_2025_8_1 = []
version_2025_8_2 = []
version_2025_8_3 = []
version_2025_8_4 = []
version_2025_9_0 = []
version_2025_9_1 = []
version_2025_9_2 = []
version_2025_9_3 = []
version_2026_1_0 = []
version_2026_1_1 = []
version_2026_1_2 = []
version_2026_1_3 = []
version_2026_1_4 = []
version_2026_1_5 = []
version_2026_2_0 = []
version_2026_2_1 = []
version_2026_2_2 = []
version_2026_2_3 = []
version_2026_2_4 = []
version_2026_3_0 = []
version_2026_3_1 = []
version_2026_3_2 = []
version_2026_3_3 = []
version_2026_4_0 = []
version_2026_4_1 = []
version_2026_4_2 = []
version_2026_4_3 = []
version_2026_4_4 = []
version_2026_4_5 = []
version_2026_5_0 = []
version_2026_5_1 = []
version_2026_5_2 = []
version_2026_5_3 = []
version_2026_6_0 = []
version_2026_6_1 = []
version_2026_6_2 = []

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

[dependencies.base64]
version = "0.22.1"

[dependencies.byteorder]
version = "1.5.0"

[dependencies.bytes]
version = "1.11.0"

[dependencies.constant_time_eq]
version = "0.4.2"

[dependencies.futures]
version = "0.3.31"

[dependencies.log]
version = "0.4"

[dependencies.noise-protocol]
version = "0.2.0"

[dependencies.noise-rust-crypto]
version = "0.6.2"

[dependencies.prost]
version = "0.13.5"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1.17"

[dependencies.tokio-util]
version = "0.7.17"
features = ["codec"]

[dependencies.typed-builder]
version = "0.21.0"

[dev-dependencies.pretty_env_logger]
version = "0.5.0"

[dev-dependencies.test-log]
version = "0.2.16"
features = [
    "log",
    "color",
]