Metadata-Version: 2.4
Name: wirelink
Version: 0.1.0
Summary: Typed, framed messaging between Python and an Arduino-compatible board
Author: Azad Khan
License: MIT
Project-URL: Homepage, https://github.com/yourname/wirelink
Project-URL: Issues, https://github.com/yourname/wirelink/issues
Keywords: arduino,esp32,serial,microcontroller,cobs,protocol
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyserial>=3.5
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"
Dynamic: license-file

# wirelink (Python host)

Host side of [WireLink](https://github.com/yourname/wirelink): typed, framed, CRC-checked
messaging with an Arduino-compatible board. The matching board library is `WireLink` in the
Arduino Library Manager.

```python
from wirelink import Link

link = Link.autodetect(name="demo-board")   # found by handshake, not by port number
link.call("setLed", 255, 40, 0)
print(link.request("uptime")[0])

@link.on("temp")
def show(celsius):
    print(celsius)
```

The link reconnects on its own when a board resets or is unplugged, including when it comes
back under a different port name. See the project README for the wire format.
