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:
$SYStopic 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 amqttAvailable on Read the Docs.
Launch from DockerHub
$ docker run -d -p 1883:1883 amqtt/amqtt:latestThe 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.
Please report security vulnerabilities privately according to the security policy.
| Version | hbmqtt compatibility | Supported Python Versions |
|---|---|---|
| 0.10.x | yes 2 | 3.7 - 3.9 |
| 0.11.x | no 3 | 3.10 - 3.13 |
| 0.12.x | no 3 | 3.10 - 3.14 |