Message exchange between MoaT instances
Project description
Moat-Link is a library that distributes messages between several possible back-ends, channel arrangements or encodings.
The associated server links these backends into one coherent system, provide message history, documentation, and whatnot.
Rationale
Often, services have differing ideas how to encode “their” messages. For instance, Home Assistant likes JSON, except for boolean content which is encoded as “ON” and “OFF”. On the other hand, encodings like msgpack or CBOR replace the overhead of textual analysis and repeated division by ten with typed binary data.
MoaT-KV supported this usecase via its own MQTT server, which is based on hbmqtt. Unfortunately hbmqtt is unsupported, high-overhead, and doesn’t support MQTT 5. MoaT-KV adds its own overhead and doesn’t support non-retained messages.
Structure
MoaT-Link consists of a couple of related services.
Server
The main server records messages in its history, affords redundancy, can re-supply the MQTT server with retained state, and so on.
Translator
Translators send and receive messages from other channels or topics.
For instance, Home Assistant’s default of device state/cmd/control in one single hierarchy doesn’t always mesh well with other systems’ ideas.
Errors
MoaT-Link supports error handling and recovery.
Web view
Last but not least, we want a HTML front-end for introspection and debugging.
Message Encoding
MoaT-Link supports various encodings, most notably CBOR and msgpack. Its native default is CBOR because, unlike msgpack, CBOR’s extensions are simply normal (but tagged) data structures and thus are introspectable.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moat_link-0.2.28.tar.gz.
File metadata
- Download URL: moat_link-0.2.28.tar.gz
- Upload date:
- Size: 58.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d52899a6cc0cffd8a73fcc4d7f825d1354810ad32f90a29615743dc1438f6294
|
|
| MD5 |
60dad6f6df3e75497322ec3e93287aa7
|
|
| BLAKE2b-256 |
304b1817f0708160ea4ed9510296bfb19dace432e53725071cbb66e558043bc2
|
File details
Details for the file moat_link-0.2.28-py3-none-any.whl.
File metadata
- Download URL: moat_link-0.2.28-py3-none-any.whl
- Upload date:
- Size: 67.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
631f0e2d9bec8f62abeb2b2e7e84612995438ce5dd364b34fcf494066fea97d3
|
|
| MD5 |
f1bb3d0eb6bce5e5fc30bd7ec9a07b0b
|
|
| BLAKE2b-256 |
036b0fc576edf06b02d1df6b480441ea61eb251329c22055e2e3ce4e0e63bee9
|