Python BSD-3-Clause

aiomqtt

The idiomatic asyncio MQTT client

E

empicano

Dernière activité 23 avr. 2026
empicano/aiomqtt

574

étoiles

89

forks

15

issues ouvertes

asyncasyncioclientinternet-of-thingsiotmqttmqtt5networkingprotocolpubsubpython

Ce README est souvent en anglais.

Note

aiomqtt v3 is released! It switches the underlying protocol library from paho-mqtt to the sans-io mqtt5 library. This means aiomqtt is now pure asyncio (no more threads). Try it with pip install aiomqtt==3.0.0-alpha.1.

aiomqtt

PyPI downloads PyPI version Supported Python versions

The idiomatic asyncio MQTT client. Write code like this:

Publish

async with aiomqtt.Client(hostname="test.mosquitto.org") as client:
    await client.publish("ducks/louie/status", b"quack")

Subscribe

async with aiomqtt.Client(hostname="test.mosquitto.org") as client:
    await client.subscribe(
        aiomqtt.TopicFilter("ducks/#"), max_qos=aiomqtt.QoS.AT_MOST_ONCE,
    )
    async for message in client.messages():
        print(message.payload)

Key features

  • No callbacks! 👍
  • Complete MQTTv5 support (backpressure, user properties, ...)
  • Automatic reconnection
  • Fine-grained control over acknowledgments
  • Pure asyncio
  • Fully type-hinted

Installation

pip install aiomqtt

The only dependency is mqtt5.

Documentation

To get started, see the guides.

If you're new to MQTT, we recommend reading HiveMQ's MQTT essentials as an introduction. Afterward, the MQTTv5 specification is a great reference.

The RealPython walkthrough is a nice introduction to Python's asyncio.

Contributing

We're happy about contributions! See CONTRIBUTING.md to get started.

Versioning

This project adheres to Semantic Versioning.

Changelog

See CHANGELOG.md, which follows the principles of Keep a Changelog.

Projets similaires

Python MQTT v5.0 async client

Pythonasyncasynciomqtt
Wwialon
450 étoiles56

Python's asyncio-native MQTT broker and client.

Python
YYakifo
218 étoiles72

paho.mqtt.python

Pythoneclipseiotinternet-of-thingsmqtt
Eeclipse-paho
2,4 k étoiles747