Metadata-Version: 2.5
Name: cradlewise-client
Version: 0.2.2
Summary: Local-first Cradlewise state and control client
Project-URL: Homepage, https://github.com/caffeineflo/cradlewise-home-assistant
Project-URL: Issues, https://github.com/caffeineflo/cradlewise-home-assistant/issues
Project-URL: Source, https://github.com/caffeineflo/cradlewise-home-assistant/tree/main/packages/cradlewise-client
Author: caffeineflo
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: boto3<2.0.0,>=1.34.0
Requires-Dist: cryptography<51.0.0,>=42.0.0
Requires-Dist: paho-mqtt<3.0.0,>=2.0.0
Requires-Dist: pycognito<2025.0.0,>=2024.5.1
Requires-Dist: requests<3.0.0,>=2.31.0
Description-Content-Type: text/markdown

# cradlewise-client

`cradlewise-client` is the media-free protocol layer used by the Cradlewise
Home Assistant integration. It supports direct local MQTT, Cradlewise AWS IoT
MQTT, account discovery, certificate provisioning, local broker pinning,
client-certificate validity inspection, targeted device-registration cleanup,
state normalization, and validated control payloads.

Direct local MQTT requires a broker CA validated and pinned with
`pin_server_ca`; the client doesn't disable TLS hostname verification when a
pin is missing.

The package is unofficial and based on interoperability research against the
Cradlewise Android app. It does not start WebRTC sessions, process nursery
audio or video, or require Home Assistant.

This package is pre-release. Its public API can change before 1.0.
