MoaT-MQTT
is an open source MQTT 3.1.1 client and broker
implementation. It is a fork of hbmqtt with support for anyio and
MoaT-KV.
MoaT-MQTT provides a straightforward API based on coroutines, making it easy to write highly concurrent applications.
MoaT-MQTT
will be retired because by now, broker support for MQTT 5 is
nearly universal.
The designated replacement is mqttproto.
MoaT-MQTT implements the full set of MQTT 3.1.1 protocol specifications and provides the following features:
- Support for QoS 0, QoS 1 and QoS 2 messages flows
- Client auto-reconnection
- Authentication via password file (more methods can be added through a plugin system)
- Basic
$SYS
topics - TCP and websocket support
- SSL support over TCP and websocket
- Plugin system
- Optional: Storage of retained messages in MoaT-KV
TODO.
TODO.
MoaT-MQTT is available on Pypi and can installed simply using pip
:
$ pip install moat-mqtt
Documentation is available on Read the Docs.
Bug reports, patches and suggestions welcome! Just open an issue.
MoaT-MQTT is a Python package that includes a stand-alone MQTT server, as well as basic client scripts. It is based on hbmqtt and was previously named "DistMQTT".
MoaT-KV is a distributed key-value storage system. It uses the MoaT-MQTT client library as its connector to an MQTT server, preferably Mosquitto or some other low-latency broker. It was previously named "DistKV".
A MoaT-MQTT server can hook into MoaT-KV so that some messages are persisted, translated (i.e. store msgpack messages encoding True and False, instead of the strings "on" and "off" (or "ON" and "OFF" or "1" and "0" or …)), filtered (e.g. the client can only modify existing messages but not add any), et al..