MoaT-MQTT
=========
``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.
.. _anyio: https://github.com/agronholm/anyio
.. _MoaT-KV: https://github.com/M-o-a-T/moat-kv
.. _hbmqtt: https://github.com/beerfactory/hbmqtt
Deprecation Notice
------------------
``MoaT-MQTT`` will be retired because by now, broker support for MQTT 5 is
nearly universal.
The designated replacement is `mqttproto`_.
Features
--------
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
Build status
------------
TODO.
Project status
--------------
TODO.
Getting started
---------------
MoaT-MQTT is available on `Pypi <https://pypi.python.org/pypi/moat-mqtt>`_ 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`_.
.. image:: https://badges.gitter.im/Join%20Chat.svg
:target: https://gitter.im/beerfactory/moat-mqtt?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
:alt: 'Join the chat at https://gitter.im/beerfactory/moat-mqtt'
.. _MQTT: http://www.mqtt.org
.. _MQTT 3.1.1: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
.. _mqttproto: https://github.com/agronholm/mqttproto/
.. _Read the Docs: http://moat-mqtt.readthedocs.org/
.. _open an issue: https://github.com/M-o-a-T/moat-mqtt/issues/new
Moat-MQTT? DistMQTT? MoaT-KV? Whatever?
---------------------------------------
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 <https://github.com/M-o-a-T/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..
Raw data
{
"_id": null,
"home_page": null,
"name": "moat-mqtt",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "MoaT",
"author": null,
"author_email": "Matthias Urlichs <matthias@urlichs.de>",
"download_url": "https://files.pythonhosted.org/packages/04/50/e0403fff761586829c10ba89fa4eb6c519ba1fa769b2f1fdced165f78a4f/moat_mqtt-0.42.10.tar.gz",
"platform": null,
"description": "MoaT-MQTT\n=========\n\n``MoaT-MQTT`` is an open source `MQTT`_ 3.1.1 client and broker\nimplementation. It is a fork of `hbmqtt`_ with support for `anyio`_ and\n`MoaT-KV`_.\n\nMoaT-MQTT provides a straightforward API based on coroutines, making it easy\nto write highly concurrent applications.\n\n.. _anyio: https://github.com/agronholm/anyio\n.. _MoaT-KV: https://github.com/M-o-a-T/moat-kv\n.. _hbmqtt: https://github.com/beerfactory/hbmqtt\n\nDeprecation Notice\n------------------\n\n``MoaT-MQTT`` will be retired because by now, broker support for MQTT 5 is\nnearly universal.\n\nThe designated replacement is `mqttproto`_.\n\nFeatures\n--------\n\nMoaT-MQTT implements the full set of `MQTT 3.1.1`_ protocol specifications and provides the following features:\n\n- Support for QoS 0, QoS 1 and QoS 2 messages flows\n- Client auto-reconnection\n- Authentication via password file (more methods can be added through a plugin system)\n- Basic ``$SYS`` topics\n- TCP and websocket support\n- SSL support over TCP and websocket\n- Plugin system\n- Optional: Storage of retained messages in MoaT-KV\n\nBuild status\n------------\n\nTODO.\n\nProject status\n--------------\n\nTODO.\n\nGetting started\n---------------\n\nMoaT-MQTT is available on `Pypi <https://pypi.python.org/pypi/moat-mqtt>`_ and can installed simply using ``pip`` :\n::\n\n $ pip install moat-mqtt\n\nDocumentation is available on `Read the Docs`_.\n\nBug reports, patches and suggestions welcome! Just `open an issue`_.\n\n.. image:: https://badges.gitter.im/Join%20Chat.svg\n :target: https://gitter.im/beerfactory/moat-mqtt?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n :alt: 'Join the chat at https://gitter.im/beerfactory/moat-mqtt'\n\n.. _MQTT: http://www.mqtt.org\n.. _MQTT 3.1.1: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html\n.. _mqttproto: https://github.com/agronholm/mqttproto/\n.. _Read the Docs: http://moat-mqtt.readthedocs.org/\n.. _open an issue: https://github.com/M-o-a-T/moat-mqtt/issues/new\n\nMoat-MQTT? DistMQTT? MoaT-KV? Whatever?\n---------------------------------------\n\nMoaT-MQTT is a Python package that includes a stand-alone MQTT server, as\nwell as basic client scripts. It is based on hbmqtt and was previously\nnamed \"DistMQTT\".\n\n`MoaT-KV <https://github.com/M-o-a-T/moat-kv>`_ is a distributed key-value\nstorage system. It uses the MoaT-MQTT client library as its connector to\nan MQTT server, preferably Mosquitto or some other low-latency broker.\nIt was previously named \"DistKV\".\n\nA MoaT-MQTT server can hook into MoaT-KV so that some messages are persisted,\ntranslated (i.e. store msgpack messages encoding `True` and `False`, instead of\nthe strings \"on\" and \"off\" (or \"ON\" and \"OFF\" or \"1\" and \"0\" or \u2026)), filtered\n(e.g. the client can only modify existing messages but not add any), et al..\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Async MQTT broker and client, with optional MoaT-KV support",
"version": "0.42.10",
"project_urls": {
"homepage": "https://m-o-a-t.org",
"repository": "https://github.com/M-o-a-T/moat"
},
"split_keywords": [
"moat"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "dbb1503acda243bc70624338d0f1fbb7d542bba890570831b4e3b163598ce912",
"md5": "205023cac4ac2fe569c11f8e48c60e1f",
"sha256": "45d0eb81b1a4c33838ef0265e2ae9ec59fa0de31b1595cf1b8dcdf685ceac1e0"
},
"downloads": -1,
"filename": "moat_mqtt-0.42.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "205023cac4ac2fe569c11f8e48c60e1f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 69864,
"upload_time": "2025-07-24T13:54:10",
"upload_time_iso_8601": "2025-07-24T13:54:10.285474Z",
"url": "https://files.pythonhosted.org/packages/db/b1/503acda243bc70624338d0f1fbb7d542bba890570831b4e3b163598ce912/moat_mqtt-0.42.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0450e0403fff761586829c10ba89fa4eb6c519ba1fa769b2f1fdced165f78a4f",
"md5": "fed183cd028a77f892def566c0c2e08b",
"sha256": "36a9739e2e401a872bb87327b54f22e2a669825a35c06aec1d777c983d0df21f"
},
"downloads": -1,
"filename": "moat_mqtt-0.42.10.tar.gz",
"has_sig": false,
"md5_digest": "fed183cd028a77f892def566c0c2e08b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 78596,
"upload_time": "2025-07-24T13:54:11",
"upload_time_iso_8601": "2025-07-24T13:54:11.797334Z",
"url": "https://files.pythonhosted.org/packages/04/50/e0403fff761586829c10ba89fa4eb6c519ba1fa769b2f1fdced165f78a4f/moat_mqtt-0.42.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-24 13:54:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "M-o-a-T",
"github_project": "moat",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "anyio",
"specs": []
},
{
"name": "anyio_serial",
"specs": []
},
{
"name": "trio",
"specs": []
},
{
"name": "asyncclick",
"specs": []
},
{
"name": "asyncscope",
"specs": []
},
{
"name": "git",
"specs": []
},
{
"name": "msgpack",
"specs": []
},
{
"name": "simpleeval",
"specs": []
},
{
"name": "ruyaml",
"specs": []
},
{
"name": "cffi",
"specs": []
},
{
"name": "packaging",
"specs": []
},
{
"name": "pymodbus",
"specs": []
},
{
"name": "tomlkit",
"specs": []
}
],
"lcname": "moat-mqtt"
}