对真实 nixmsg 跑 DEVELOPMENT 第 9 节接入清单(跳过仅 JS 跨域),补 README/示例,并修 Paho/HiveMQ 真机联调死锁与鉴权分类。
NixMsg Python SDK
包名 nixmsg,最低 Python 3.10。同步接口为主,同包提供 AsyncClient asyncio 包装。
安装
发布后(阶段 3):
pip install nixmsg --index-url https://git.asio.asia/api/packages/nixevol/pypi/simple/
本地开发:
cd sdk/python
python -m venv .venv
# Windows: .venv\Scripts\activate
pip install -e ".[dev]"
最小示例
from nixmsg import Body, Client, SendOptions, Target
c = Client()
c.on_session(lambda token: print("session", token))
c.on_message(lambda msg: print("msg", msg.id, msg.body.data))
c.connect("ws://127.0.0.1:7443/mqtt", "device-1", password="secret")
c.send(
Target(kind="endpoint", id="device-2"),
Body(data="hello"),
SendOptions(delay_ms=0),
)
c.close()
更完整的命令行示例见 examples/minimal.py。
打包(不发布)
pip install build
python -m build
# 产物在 dist/,勿上传 PyPI;正式发布由总控在阶段 3 执行
测试
# 单元测试(假传输)+ 接入清单(会编译并启动真实 nixmsg)
pytest
接入清单覆盖 DEVELOPMENT 第 9 节(跳过仅 JS 的跨域项)。可用环境变量 NIXMSG_BIN 指定已编译二进制。
许可证
见 LICENSE(专有 / Proprietary)。