根据sans i/o原则设计的python矩阵客户机库。

matrix-nio的Python项目详细描述


NIO

Build StatuscodecovlicenseDocumentation Status#nio

nio是一个多层矩阵客户端库。底层底层没有 自己做任何IO。在基本层之上,是一个没有io的http客户端 实施存在,以及一个完整的电池包括异步 使用aiohttp分层。

文档

nio的完整api文档可以在 https://matrix-nio.readthedocs.io

安装

要安装nio,只需使用pip:

$ pip install matrix-nio

注意,这将安装nio,而不支持端到端加密。对于E2EE 需要支持python olm,这需要 libolmc库。

安装libolm之后,启用了e2ee的nio版本可以是 使用PIP安装:

$ pip install "matrix-nio[e2e]"

用法

除非特殊要求不允许使用异步,否则 使用nio的方法是使用异步层:

importasynciofromnioimport(AsyncClient,RoomMessageText)asyncdefmessage_cb(room,event):print("Message received for room {} | {}: {}".format(room.display_name,room.user_name(event.sender),event.body))asyncdefmain():client=AsyncClient("https://example.org","@alice:example.org")client.add_event_callback(message_cb,RoomMessageText)awaitclient.login("hunter1")awaitclient.sync_forever(timeout=30000)asyncio.get_event_loop().run_until_complete(main())

请注意,此示例要求python 3.5+用于async/await 语法。另一方面,nio也适用于较旧的python版本。

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

推荐PyPI第三方库


热门话题
Java泛型和基类   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java应用程序在尝试登录时突然停止   Java:神秘的Java未捕获异常处理程序[带代码]   java JavaFX NumberAxis自动范围无限循环   最新版本和旧版本冲突的java双Maven依赖关系   java如何导入带有部署变量类名的静态函数?   编译器构造不同的JDK更新会产生不同的Java字节码吗?   java无法在struts 1.1中上载任何超过250 MB大小的文件   java调整jcombobox下拉菜单的宽度   java如何在某些情况下忽略@SQLDelete注释   在Eclipse for Java EE developers edition中禁用HTML警告   java HttpUrlConnection重置请求属性   java@Provider资源未在rest应用程序中注册   java TOP N使用JPA连接   java在使用反射调用方法时区分int和Integer参数