Matrix的客户端-服务器SDK
项目描述
Matrix Python 客户端 SDK
适用于 Python 2.7 和 3.4+ 的 Matrix 客户端-服务器 SDK
项目状态
我们强烈建议使用 matrix-nio 库,而不是此 SDK。它功能更强大,维护也更活跃。
此 SDK 当前维护较少,没有最终负责人。拉取请求(Pull-requests)可能会被审查,但不会积极开发新功能或修复错误。如需更多信息或自愿帮助,请参阅https://github.com/matrix-org/matrix-python-sdk/issues/279或加入#matrix-python-sdk:matrix.org聊天。
安装
稳定版本
使用 pip 从 pypi 安装。这将安装所有必要的依赖项。
pip install matrix_client
开发版本
使用根项目目录中的 setup.py 安装。这将同样安装所有需要的依赖项。
git clone https://github.com/matrix-org/matrix-python-sdk.git
cd matrix-python-sdk
python setup.py install
用法
SDK 提供两层交互。底层仅封装原始 HTTP API 调用。高层封装底层并提供一个对象模型来执行操作。
客户端
from matrix_client.client import MatrixClient
client = MatrixClient("http://localhost:8008")
# New user
token = client.register_with_password(username="foobar", password="monkey")
# Existing user
token = client.login(username="foobar", password="monkey")
room = client.create_room("my_room_alias")
room.send_text("Hello!")
API
from matrix_client.api import MatrixHttpApi
matrix = MatrixHttpApi("https://matrix.org", token="some_token")
response = matrix.send_message("!roomid:matrix.org", "Hello!")
结构
SDK 分为两个模块:api 和 client。
API
此模块包含原始 HTTP API 调用并具有最少的业务逻辑。您可以设置用于请求的访问令牌(token),以及设置自定义事务 ID(txn_id),该 ID 将为每个请求递增。
客户端
此模块封装 API 模块并提供如 Room 这样的对象模型。
示例
包含一系列示例,使用 Python 3 编写。
您可以选择安装 SDK,或像这样运行示例
PYTHONPATH=. python samples/samplename.py
构建文档
可以通过安装 sphinx 和 sphinx_rtd_theme 来构建文档。
在 docs 内运行简单的 make 命令,这将列出所有可用的输出格式。