mcpField
I
iii-python-sdk

iii-python-sdk

github.com/iii-hq开发219 次安装
代码仓库

关于 iii-python-sdk

iii-python-sdk 是用于将 Worker 连接到 iii engine 的异步 Python SDK,提供函数与触发器注册、同步和异步调用、请求与响应类型及连接状态监控。

主要功能

  1. 01连接 Worker 与 iii engine
  2. 02注册异步函数处理器
  3. 03将触发器绑定到函数
  4. 04同步或异步调用函数
  5. 05访问处理器日志和追踪上下文
  6. 06监控函数发现与连接状态

适用场景

  1. 01将 Python Worker 接入 iii engine
  2. 02注册异步处理器和触发器
  3. 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 / ApiResponseHTTP 请求/响应类型(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