content: [package]
  name = "tapo"
  version = "0.8.6"
  edition = "2024"
  rust-version = "1.88"
  license = "MIT"
  authors = ["Mihai Dinculescu <mihai.dinculescu@outlook.com>"]
  description = "Unofficial Tapo API Client. Works with TP-Link Tapo smart devices. Tested with light bulbs (L510, L520, L530, L535, L610, L630), light strips (L900, L920, L930), plugs (P100, P105, P110, P110M, P115), power strips (P300, P304M, P306, P316M), hubs (H100), switches (S200B) and sensors (KE100, T100, T110, T300, T310, T315)."
  keywords = ["IOT", "tapo", "smart-home", "smart-bulb", "smart-plug"]
  categories = ["hardware-support", "embedded", "development-tools"]
  readme = "README.md"
  repository = "https://github.com/mihai-dinculescu/tapo"
  
  [features]
  default = []
  python = ["dep:pyo3"]
  
  [dependencies]
  anyhow = { workspace = true }
  async-trait = "0.1"
  chrono = { workspace = true, features = ["clock", "serde"] }
  crc32fast = "1.5"
  itertools = "0.14"
  lazy_static = "1.5"
  log = { workspace = true }
  reqwest = { version = "0.12", default-features = false, features = ["cookies", "json"] }
  serde = { workspace = true, features = ["derive", "serde_derive"] }
  serde_json = { workspace = true }
  serde_with = "3.14"
  thiserror = "2.0"
  tokio = { workspace = true, features = ["sync"] }
  tokio-stream = "0.1"
  uuid = { version = "1.18", features = ["serde", "v4"] }
  
  # security
  aes = "0.8"
  base16ct = { version = "0.3", features = ["alloc"] }
  base64 = "0.22"
  cbc = { version = "0.1", features = ["alloc"] }
  rsa = { version = "0.9", features = ["getrandom"] }
  sha1 = "0.10"
  sha2 = "0.10"
  
  # FFI
  pyo3 = { workspace = true, features = ["serde", "chrono"], optional = true }
  
  [dev-dependencies]
  pretty_env_logger = "0.5"
  rand = "0.8"
  tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
  