Skip to main content

Python's asyncio-native MQTT broker and client.

Project description

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 client[^1], 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amqtt-0.11.3.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amqtt-0.11.3-py3-none-any.whl (118.7 kB view details)

Uploaded Python 3

File details

Details for the file amqtt-0.11.3.tar.gz.

File metadata

  • Download URL: amqtt-0.11.3.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for amqtt-0.11.3.tar.gz
Algorithm Hash digest
SHA256 8818bc3037ac027368228098852007c0a77e367fc11389c1405169618d4c8b8b
MD5 3bdca68ddc5a91f78df6a1ab2998d45c
BLAKE2b-256 3c52329c655644b6ffc36fb15a49bd245dec31bb45a91f1c8291c84b84fa1695

See more details on using hashes here.

File details

Details for the file amqtt-0.11.3-py3-none-any.whl.

File metadata

  • Download URL: amqtt-0.11.3-py3-none-any.whl
  • Upload date:
  • Size: 118.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for amqtt-0.11.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c774eb68087fe8cda17b7e9d40a8016ea782ba637c272d97df86bf1cd23c658d
MD5 8a8423ba9090812e744fad632584f518
BLAKE2b-256 9395d484a1bcb22868247bbbb3c3a61c7f4dd6713e92052e862ac2b6873ca3b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page