Metadata-Version: 2.4
Name: embedded-bridge
Version: 0.2.1
Summary: Structured communication with embedded devices — pluggable transport, receivers, and emitters
Author: Matthew McGowan
License: BSD-3-Clause
Keywords: embedded,serial,testing,crash-detection,iot
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
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: Topic :: Software Development :: Embedded Systems
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Provides-Extra: serial
Requires-Dist: pyserial>=3.5; extra == "serial"
Provides-Extra: websocket
Requires-Dist: websockets>=12.0; extra == "websocket"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.0; extra == "dev"
Requires-Dist: setuptools-scm>=8.0; extra == "dev"

# embedded-bridge (Python)

Host-side Python implementation of
[embedded-bridge](https://github.com/m-mcgowan/embedded-bridge), a
communication stack for embedded systems. It speaks the same wire protocol
as the C++ library that runs on the device.

```bash
pip install embedded-bridge              # core: no dependencies
pip install embedded-bridge[serial]      # + SerialTransport (pyserial)
pip install embedded-bridge[websocket]   # + WebSocketTransport
```

What's included:

- **Message protocol** (`MessageReader` / `MessageWriter`): text commands and
  length-prefixed binary payloads on one link
- **Framing**: HDLC, SLIP, COBS, line framing, CRC-16
- **Transports**: serial, WebSocket
- **Receivers**: crash detection, timestamped event capture, sleep/wake
  monitoring, memory tracking, and a router to fan output out to them
- **TestSession**: run on-device tests that survive sleep/wake cycles

```python
from embedded_bridge.framing.message import MessageReader, MessageWriter
```

Documentation, design notes, and the full feature list are in the
[project README](https://github.com/m-mcgowan/embedded-bridge#readme).
