aMQTT is an open source MQTT client and broker implementation in python
 
 
 
 
 
 
Go to file
Andrew Mirsky f50e3b48f6
Plugin: device 'shadows' to bridge device online/offline states (#282)
* states, calculations and model for shadow plugin
* adding tests for shadow states and correcting use cases
* adding get/update message broadcast, adding json schema tests for shadow messages being received
* adding shadow plugin documentation
2025-08-09 15:01:10 -04:00
.github Plugin: rebuild of session persistence (#256) 2025-08-09 14:15:45 -04:00
amqtt Plugin: device 'shadows' to bridge device online/offline states (#282) 2025-08-09 15:01:10 -04:00
docs Plugin: device 'shadows' to bridge device online/offline states (#282) 2025-08-09 15:01:10 -04:00
docs_test Fixes #247 : expire disconnected sessions (#279) 2025-07-26 21:39:45 -04:00
docs_web Plugin: rebuild of session persistence (#256) 2025-08-09 14:15:45 -04:00
samples Plugin: determine authentication based on X509 certificates (#264) 2025-08-09 14:52:35 -04:00
scripts
tests Plugin: device 'shadows' to bridge device online/offline states (#282) 2025-08-09 15:01:10 -04:00
.codecov.yml
.coveragerc Plugin: authentication against a relational database (#280) 2025-07-26 17:04:14 -04:00
.dockerignore change version numbers for release of 0.11.2 2025-07-09 12:27:22 -04:00
.gitattributes
.gitignore Plugin: determine authentication based on X509 certificates (#264) 2025-08-09 14:52:35 -04:00
.pre-commit-config.yaml
.readthedocs.yaml running pytest to generate htmlcov for readthedocs 2025-06-12 14:20:31 -04:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile dockerfile build update to support psutils 2025-06-27 13:40:21 -04:00
LICENSE.md
MANIFEST.in
Makefile structure needed as the basis for several 0.11.3 improvements 2025-07-10 11:23:56 -04:00
README.md Plugin: rebuild of session persistence (#256) 2025-08-09 14:15:45 -04:00
SECURITY.md
SUPPORT.md
mkdocs.rtd.yml Plugin: device 'shadows' to bridge device online/offline states (#282) 2025-08-09 15:01:10 -04:00
mkdocs.web.yml updating docs, version numbers and ssl 2025-06-16 15:24:23 -04:00
pyproject.toml Plugin: device 'shadows' to bridge device online/offline states (#282) 2025-08-09 15:01:10 -04:00
uv.lock Plugin: device 'shadows' to bridge device online/offline states (#282) 2025-08-09 15:01:10 -04:00

README.md

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 TCP and/or websocket, including support for SSL/TLS
  • Support QoS 0, QoS 1 and QoS 2 messages flow
  • Client auto-reconnection on network lost
  • Custom functionality expansion; plugins included: authentication, $SYS topic publishing, 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 ↩︎