Metadata-Version: 2.4
Name: cync-lan
Version: 0.1.2
Summary: Core async protocol library for local LAN control of Cync/C by GE smart devices - device/session state machine, packet codec, cloud auth, and BLE provisioning
Author-email: baudneo <86508179+baudneo@users.noreply.github.com>
Project-URL: Homepage, https://github.com/Proxy-alt/cync-lan
Project-URL: Repository, https://github.com/Proxy-alt/cync-lan
Project-URL: Issues, https://github.com/Proxy-alt/cync-lan/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: LICENSE-3RD-PARTY
Requires-Dist: pyyaml==6.0.2
Requires-Dist: pydantic>=2.0.0
Requires-Dist: tzlocal>=5.3.1
Requires-Dist: cryptography>=46.0.7
Requires-Dist: aiohttp>=3.10.8
Provides-Extra: dev
Requires-Dist: python-dotenv>=1.1.0; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Provides-Extra: ble
Requires-Dist: bleak>=0.22.0; extra == "ble"
Dynamic: license-file

# cync-lan

Core async protocol library for local LAN control of Cync/C by GE smart
devices - the device/session TCP state machine, wire-format packet codec,
Cync cloud auth, and BLE GATT provisioning. No MQTT, no Docker, no CLI of
its own (aside from `cync-lan-ble-provision`, see below) - this package is
a dependency consumed by other projects, not something you run directly.

Requires [DNS redirection](https://github.com/Proxy-alt/cync-lan/blob/feature/ha-custom-component/docs/DNS.md)
of Cync's cloud hostnames to wherever this package's TCP server (`server.py`)
runs, same as every consumer of this package.

## Consumers

- [`cync-lan-mqtt`](https://github.com/Proxy-alt/cync-lan/tree/python) - the
  Docker/MQTT add-on (standalone daemon, MQTT-based Home Assistant
  discovery, HTTP device-list exporter).
- [`custom_components/cync_lan`](https://github.com/Proxy-alt/cync-lan/tree/feature/ha-custom-component/custom_components/cync_lan) -
  the native Home Assistant integration (talks to this package's device/
  session objects directly, no MQTT).

See either of those repos/branches for end-user installation and setup -
this package by itself doesn't do anything without a consumer wiring it up
to a running event loop.

## Installing

```
pip install cync-lan
```

Add the `ble` extra (`pip install "cync-lan[ble]"`) for BLE GATT
provisioning of factory-default devices via `bleak`.

## License

MIT - see `LICENSE`.
