Skip to content

Overview

MIT licensed CI CodeQL Read the Docs Discord Python Version Python Wheel PyPI

docs/assets/amqtt.svg

aMQTT is an open source MQTT broker and client1, natively implemented with Python's asyncio.

Features¤

  • 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

Installation¤

amqtt is available on PyPI

$ pip install amqtt

Documentation¤

Available on Read the Docs.

Containerization¤

Launch from DockerHub

$ docker run -d -p 1883:1883 amqtt/amqtt:latest

Testing¤

The amqtt project runs a test aMQTT broker/server at test.amqtt.io which supports: MQTT, MQTT over TLS, websocket, secure websockets.

Support¤

Bug reports, patches and suggestions welcome! Just open an issue or join the discord community.

Python Version Compatibility¤

Version hbmqtt compatibility Supported Python Versions
0.10.x yes 2 3.7 - 3.9
0.11.x no 3 3.10 - 3.13

  1. Forked from HBMQTT after it was deprecated by the original author. 

  2. drop-in replacement 

  3. module renamed and small API differences