github.com/wialon/gmqtt ↗
Python MQTT v5.0 async client
An animated visualization of wialon/gmqtt's Git history from February 2018 to November 2020, built by 15 contributors. The codebase reached 305 lines, mostly Python. The video runs 1 minute 13 seconds.
Render your own repo
Turn any GitHub repository into a video like this — free sample in seconds.
Open this visualization on its own page →
Language
Python
Contributors
15
Lines of Code
305
From
2018-02-19
To
2020-11-23
Advertisement
About wialon/gmqtt
gmqtt is a Python MQTT v5.0 client library built on asyncio for asynchronous message broker communication. It supports the full MQTT 5.0 protocol specification with automatic version negotiation, falling back to MQTT 3.1 if a broker doesn't support the newer standard. The client handles all standard MQTT operations including publishing, subscribing, and message reception through callback functions.
The library provides comprehensive support for MQTT 5.0 features such as custom properties in connect and publish packets, subscription identifiers, topic aliases, message expiry intervals, and user-defined properties for diagnostic information. Developers can pass properties as keyword arguments when connecting or publishing, and the client automatically includes these in the appropriate protocol packets. The on_message callback can be defined as either synchronous or asynchronous, with async callbacks able to return specific PUBACK codes for advanced message handling.
Connection management includes built-in reconnection logic that attempts indefinite reconnects by default with configurable retry limits and delays. The library is compatible with Python 3.7 through 3.12 and is distributed via PyPI. Code examples demonstrate simple subscription patterns, property usage, custom reconnect strategies, and other common use cases within an examples directory.
Advertisement