Wrapper or own
implementation?
Client
or
broker?
Event
loop
MQTT
versions
Persistent
Sessions
Retained
Messages
LWT QoS Github
stars
Project
Status
paho-mqtt Eclipse Foundation
reference
implementation
client custom +
callbacks
5.0, 3.1.1 ✔ ✔ ✔ 0, 1, 2 1.8k active
asyncio-mqtt Asyncio wrapper
for paho-mqtt
client asyncio 5.0, 3.1.1 ✔ ✔ ✔ 0, 1, 2 253 active
aiomqtt Minimal asyncio
wrapper for
paho-mqtt
client asyncio 5.0, 3.1.1 ✔ ✔ ✔ 0, 1, 2 54 “limited”
trio-paho-mqtt Trio wrapper for
paho-mqtt
client trio 5.0, 3.1.1 ✔ ✔ ✔ 0, 1, 2 11 dormant
gmqtt From-scratch
implementation
client asyncio +
callbacks
5.0, 3.1.1 ✘ ✔ ✔ 0, 1, 2 319 active
HBMQTT Deprecated,
From-scratch
implementation
both asyncio 3.1.1 ✘ ✔ ✘ 0, 1, 2 779 deprecated
aMQTT “LTS for HBMQTT” both asyncio 3.1.1 ✘ ✔ ✘ 0, 1, 2 81 active
mqttools From-scratch
implementation,
limited feature set
both asyncio 5.0 ✘ ✔ ✘ 0 52 dormant