[package]
edition = "2024"
name = "rustuya"
version = "0.2.6"
authors = ["3735943886"]
build = false
include = [
"src/**/*",
"examples/*.rs",
"Cargo.toml",
"README.md",
"LICENSE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A fast and concurrent Tuya Local API implementation in Rust"
homepage = "https://github.com/3735943886/rustuya"
readme = "README.md"
keywords = [
"tuya",
"iot",
"smart-home",
"automation",
]
categories = [
"hardware-support",
"network-programming",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/3735943886/rustuya"
[lib]
name = "rustuya"
crate-type = ["rlib"]
path = "src/lib.rs"
[[example]]
name = "control"
path = "examples/control.rs"
[[example]]
name = "scan"
path = "examples/scan.rs"
[[example]]
name = "unified_listener"
path = "examples/unified_listener.rs"
[dependencies.aes]
version = "0.9"
[dependencies.aes-gcm]
version = "0.11.0-rc.3"
[dependencies.async-stream]
version = "0.3"
[dependencies.base64]
version = "0.22"
[dependencies.byteorder]
version = "1.5"
[dependencies.cipher]
version = "0.5"
[dependencies.crc]
version = "3.4"
[dependencies.ecb]
version = "0.2"
[dependencies.futures-core]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.13"
[dependencies.log]
version = "0.4"
[dependencies.md-5]
version = "0.11"
[dependencies.parking_lot]
version = "0.12"
[dependencies.rand]
version = "0.10"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.11"
[dependencies.socket2]
version = "0.6"
features = ["all"]
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.49"
features = [
"rt-multi-thread",
"net",
"sync",
"time",
"macros",
"io-util",
]
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dev-dependencies.env_logger]
version = "0.11"
[target."cfg(unix)".dependencies.rlimit]
version = "0.11"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true