Skip to content

watlowlib

Async-first Python driver for Watlow temperature controllers over RS-232 / EIA-485. Speaks both wire protocols Watlow controllers expose — Standard Bus (BACnet MS/TP outer framing + a small Watlow attribute service) and Modbus RTU (via the in-house anymodbus) — behind a single semantic Controller API that decodes to the same typed Reading either way.

This site is the reference for the v1 design. The authoritative architectural document lives at Design; every design decision in the library should be traceable to a section there. Built as a sibling to alicatlib and sartoriuslib: the same async core, sync facade, multi-device manager, fake transport, acquisition helpers, typed models, pluggable sinks, and explicit safety gates.

Where to start

Status

Alpha. The library ships the full transport (real + fake), both protocol clients (Standard Bus and Modbus RTU), the Controller facade, multi-port WatlowManager, recorder and record(...) helper, all first-party sinks (CSV, JSONL, SQLite, InMemory in the base install; Parquet, Postgres behind extras), the sync facade, fixture-based testing utilities, and the stable watlow-* CLI plus the watlow-diag reverse-engineering namespace. The public architecture is frozen; documentation completion and broader hardware coverage are in progress. See Design for forward work.

License

MIT. See LICENSE.