aMQTT¶
aMQTT
is an open source MQTT client and broker implementation.
Built on top of asyncio
, Python’s standard asynchronous I/O framework, aMQTT provides a straightforward API
based on coroutines, making it easy to write highly concurrent applications.
Features¶
aMQTT implements the full set of MQTT 3.1.1 protocol specifications and provides the following features:
Support QoS 0, QoS 1 and QoS 2 messages flow
Client auto-reconnection on network lost
Authentication through password file (more methods can be added through a plugin system)
Basic
$SYS
topicsTCP and websocket support
SSL support over TCP and websocket
Plugin system
Requirements¶
aMQTT is built on Python’s asyncio. It requires Python 3.6 or newer.
Installation¶
It is not recommended to install third-party library in Python system packages directory. The preferred way for installing aMQTT is to create a virtual environment and then install all the dependencies you need. Refer to PEP 405 to learn more.
Once you have a environment setup and ready, aMQTT can be installed with the following command
(venv) $ pip install amqtt
pip
will download and install aMQTT and all its dependencies.
User guide¶
If you need aMQTT for running a MQTT client or deploying a MQTT broker, the Quickstart describes how to use console scripts provided by aMQTT.
If you want to develop an application which needs to connect to a MQTT broker, the MQTTClient API documentation explains how to use aMQTT API for connecting, publishing and subscribing with a MQTT broker.
If you want to run you own MQTT broker, th Broker API reference reference documentation explains how to embed a MQTT broker inside a Python application.
News and updates are listed in the Changelog.