跳转到主要内容

使用Paho(更新分支)为Trio异步运行时提供MQTT支持

项目描述

trio_paho_mqtt

trio 专用的异步MQTT客户端。此项目目标是让所有MQTT协议功能都由 paho-mqtt 处理,而异步循环部分则由trio处理。这样可以保持我们的MQTT通信异步,无需将paho-mqtt放入线程,也无需重新实现MQTT协议。

所有回调也被移除,使其更类似trio。消息通过 async for 循环访问。

这是一个尽可能轻量级的paho-mqtt包装器。这样,如果MQTT消息解析出现问题,那就不是我的错 ;-)

用法

首先,请参阅 example.py 和 paho-mqtt 文档。目标是暴露与 paho-mqtt Client 相同的所有方法。如果任何方法(除回调外)缺失或行为异常,这将是错误。请提交问题。

AsyncClient 使用同步 mqtt.Clienttrio.Nursery 初始化,但除此之外,应与同步 Client 类似地操作。方法是 不是 协程,它们是非阻塞函数,因此您不需要调用 await。唯一的例外是通过 async for 访问消息。

示例

请参阅 example.py 以获取工作示例!(README中的示例已删除,因为它不工作)

相关项目

  • gmqtt - 使用asyncio和回调。与trio不兼容。
  • hbmqtt - 使用asyncio。重新实现了MQTT协议。
  • aiomqtt - 使用 asyncio 和封装 paho,但仍然使用 paho-mqtt 的循环。我相信所有操作都放入了工作线程中。
  • distmqtt - anyio-化的 hbmqtt 分支。与 trio 兼容。
  • asyncio-mqtt - 与此库(paho mqtt 的轻量级封装)相同的理念,但针对 asyncio。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

trio-paho-mqtt-up1-0.4.1.tar.gz (7.8 kB 查看哈希值)

上传时间

构建分布

trio_paho_mqtt_up1-0.4.1-py3-none-any.whl (8.1 kB 查看哈希值)

上传时间 Python 3

由...