关于 iii-python-sdk
iii-python-sdk 是用于将 Worker 连接到 iii engine 的异步 Python SDK,提供函数与触发器注册、同步和异步调用、请求与响应类型及连接状态监控。
主要功能
- 01连接 Worker 与 iii engine
- 02注册异步函数处理器
- 03将触发器绑定到函数
- 04同步或异步调用函数
- 05访问处理器日志和追踪上下文
- 06监控函数发现与连接状态
适用场景
- 01将 Python Worker 接入 iii engine
- 02注册异步处理器和触发器
- 03按需选择阻塞或非阻塞函数调用
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ iii-hq/ skills --skill iii-python-sdk安装后在 Claude Code 中输入/iii-python-sdk确认已加载。
详细介绍
Python SDK
用于将 worker 连接到 iii 引擎的异步 Python SDK。
文档
完整 API 参考:https://iii.dev/docs/api-reference/sdk-python
安装
pip install iii-sdk
主要导出项
| 导出项 | 用途 |
|---|---|
register_worker(address, options?) | 连接到引擎并返回客户端 |
InitOptions(worker_name, otel?) | 连接配置 |
register_function(id, handler) | 注册异步函数处理程序 |
register_trigger(type, function_id, config) | 将触发器绑定到函数 |
trigger(request) | 同步调用函数 |
trigger_async(request) | 异步调用函数 |
get_context() | 在处理程序中访问日志记录器和追踪上下文 |
ApiRequest / ApiResponse | HTTP 请求/响应类型(pydantic) |
IStream | 自定义流实现的接口 |
on_functions_available(callback) | 监听函数发现 |
on_connection_state_change(callback) | 监控连接状态 |
主要注意事项
register_worker()返回同步客户端;处理程序是异步的ApiResponse使用驼峰命名的statusCode(pydantic 别名),而非status_code- 使用
while True: await asyncio.sleep(60)结束 worker,以保持事件循环运行 - 在处理程序中执行 CPU 密集型同步工作时,使用
asyncio.to_thread() - SDK 同时实现了
trigger_async(request)和同步的trigger(request)。在异步处理程序中使用trigger_async;在需要阻塞行为的同步脚本或线程中使用trigger。
示例
# Async invocation (non-blocking, typical inside handlers)
result = await iii.trigger_async({
"function_id": "greet",
"payload": {"name": "World"}
})
# Sync invocation (blocks the current thread, useful in sync contexts)
result = iii.trigger({
"function_id": "greet",
"payload": {"name": "World"}
})
模式边界
- 有关使用模式和可运行示例,请参阅
iii-functions-and-triggers - 有关 Node.js SDK,请参阅
iii-node-sdk - 有关 Rust SDK,请参阅
iii-rust-sdk
适用场景
- 当任务主要涉及 iii 引擎中的
iii-python-sdk时,使用此技能。 - 当请求直接要求采用此模式或等效实现时,使用此技能。
边界
- 切勿将此技能用作无关任务的通用备用方案。
- 如果有更具体的 iii 技能更适合,则不得使用此技能。
- 应用此技能中的示例前,务必确认环境和安全约束。
评论
支持 Markdown