aMQTT
is an open source MQTT broker and client1, natively implemented with Python's asyncio.
-
Full set of MQTT 3.1.1 protocol specifications
-
Communication over multiple TCP and/or websocket ports, including support for SSL/TLS
-
Support QoS 0, QoS 1 and QoS 2 messages flow
-
Client auto-reconnection on network lost
-
Plugin framework for functionality expansion; included plugins:
$SYS
topic publishing- AWS IOT-style shadow states
- x509 certificate authentication (including cli cert creation)
- Secure file-based password authentication
- Configuration-based topic authorization
- MySQL, Postgres & SQLite user and/or topic auth (including cli manager)
- External server (HTTP) user and/or topic auth
- LDAP user and/or topic auth
- JWT user and/or topic auth
- Fail over session persistence
amqtt
is available on PyPI
$ pip install amqtt
Available on Read the Docs.
Launch from DockerHub
$ docker run -d -p 1883:1883 amqtt/amqtt:latest
The amqtt
project runs a test aMQTT broker/server at test.amqtt.io which supports: MQTT, MQTT over TLS, websocket, secure websockets.
Bug reports, patches and suggestions welcome! Just open an issue or join the discord community.
Version | hbmqtt compatibility | Supported Python Versions |
---|---|---|
0.10.x | yes 2 | 3.7 - 3.9 |
0.11.x | no 3 | 3.10 - 3.13 |