# NixMsg Python SDK 包名 `nixmsg`,最低 Python 3.10。同步接口为主,同包提供 `AsyncClient` asyncio 包装。 ## 安装 发布后(阶段 3): ```bash pip install nixmsg --index-url https://git.asio.asia/api/packages/nixevol/pypi/simple/ ``` 本地开发: ```bash cd sdk/python python -m venv .venv # Windows: .venv\Scripts\activate pip install -e ".[dev]" ``` ## 最小示例 ```python 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`。 ## 打包(不发布) ```bash pip install build python -m build # 产物在 dist/,勿上传 PyPI;正式发布由总控在阶段 3 执行 ``` ## 测试 ```bash # 单元测试(假传输)+ 接入清单(会编译并启动真实 nixmsg) pytest ``` 接入清单覆盖 DEVELOPMENT 第 9 节(跳过仅 JS 的跨域项)。可用环境变量 `NIXMSG_BIN` 指定已编译二进制。 ## 许可证 见 `LICENSE`(专有 / Proprietary)。