w3c wot运行时和wot脚本api的python实现

wotp的Python项目详细描述


工作日

Build StatusCoverage Status

简介

wotpy是python中W3C WoT RuntimeW3C WoT Scripting API的实验性实现。

灵感来自于位于thingweb GitHub page中的探索性实现。

功能

  • 支持Python2.7、3.6和3.7。
  • 完全实现了WoT接口。
  • 基于mdns的多播发现。
  • 基于协程的异步i/o编程模型。
  • 多个客户机和服务器Protocol Binding实现。

特征支持矩阵

FeaturePython 2.7Python 3Implementation based on
HTTP binding:heavy_check_mark::heavy_check_mark:tornadoweb/tornado
WebSockets binding:heavy_check_mark::heavy_check_mark:tornadoweb/tornado
CoAP binding:heavy_multiplication_x::heavy_check_mark:chrysn/aiocoap
MQTT binding:heavy_multiplication_x::heavy_check_mark:beerfactory/hbmqtt
mDNS discovery:heavy_multiplication_x::heavy_check_mark:jstasiak/python-zeroconf

Couroutine API

wotpy基于Tornado Framework。因此,用户有两个不同的api选项可以基于协同路由编写代码:

  • python 3上的用户可以使用本机asyncio模块。实际上,这是建议的方法。应该注意的是,python 3上的tornado基本上是围绕asyncio运行的。
  • 位于python 2.7上的用户仅限于编写Tornado coroutinesasyncio在python 2.7上不可用)。

待办事项

  • 将缺少的部分添加到文档并部署到公共站点上。
  • 订阅对象描述更改。
  • 数据架构的验证。
  • 使操作处理程序返回可观察值。
  • 更新协议绑定以接受事件订阅和取消数据。

安装

pip install wotpy

发展

要在开发模式下安装所有测试依赖项:

pip install -U -e .[tests]

要在所有支持的环境中运行测试:

WOTPY_TESTS_MQTT_BROKER_URL=mqtt://broker-url tox

文档

移到docs文件夹并运行:

make html

如果您试图在非Linux平台或使用Python2.7构建文档,_autosummary将抱怨无法导入不受支持的模块(例如Python2.7上的MQTT)。在这种情况下,文档将丢失有关不支持功能的部分。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java流收集组合器   文件如何在java中逐个压缩选定的多个文件夹   从Google存储下载数据时发生java SocketTimeoutException   java在安卓应用程序客户端上从python服务器接收值,然后显示与该值对应的mysql数据   数组如何在Java中测试字符串索引是否为Null   java将一串值拆分并放入一个表中   java Spring Memcached注释不缓存   调用pom中设置的环境变量时出现java问题。xml surefire插件   java修复JFrame中重叠的鼠标侦听器   格式化java。sql。日期至yyyyMMdd   java声音剪辑。如果剪辑不正确,isActive应返回true。启动被调用   无根计算机上hadoop中的java格式化namenode   从字符串数组中删除重复项,而无需在Java中进行显式比较   java Eclipse插件安装错误   java webdriver无法在firefox中单击超链接   动画错误。朗。反思。调用目标异常   java试图调用虚拟方法“void”。小装置。编辑文本。在空对象引用上添加TextChangedListener(安卓.text.TextWatcher)”