iii-hq/iii190 installs
iii-python-sdk
Python SDK for the iii engine. Use when building workers, registering functions, or invoking triggers in Python.
How do I install this agent skill?
npx skills add https://github.com/iii-hq/iii --skill iii-python-sdkIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides documentation and usage examples for the official iii engine Python SDK. No security risks or malicious patterns were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Python SDK
The async Python SDK for connecting workers to the iii engine.
Documentation
Full API reference: https://iii.dev/docs/api-reference/sdk-python
Install
pip install iii-sdk
Key Exports
| Export | Purpose |
|---|---|
register_worker(address, options?) | Connect to the engine, returns the client |
InitOptions(worker_name, otel?) | Connection configuration |
register_function(id, handler) | Register an async function handler |
register_trigger(type, function_id, config) | Bind a trigger to a function |
trigger(request) | Invoke a function synchronously |
trigger_async(request) | Invoke a function asynchronously |
get_context() | Access logger and trace context inside handlers |
ApiRequest / ApiResponse | HTTP request/response types (pydantic) |
IStream | Interface for custom stream implementations |
on_connection_state_change(callback) | Monitor connection state |
register_trigger(type, fn_id, config, metadata?) | Bind a trigger with optional metadata |
Key Notes
register_worker()returns a synchronous client; handlers are asyncApiResponseuses camelCasestatusCode(pydantic alias), notstatus_code- End workers with
while True: await asyncio.sleep(60)to keep the event loop alive - Use
asyncio.to_thread()for CPU-heavy sync work inside handlers - The SDK implements both
trigger_async(request)and a synchronoustrigger(request). Usetrigger_asyncinside async handlers, andtriggerin synchronous scripts or threads where blocking behavior is desired. - For discovery reads and topology subscriptions, call the built-in engine functions with
trigger()/trigger_async()and bindengine::functions-availablewithregister_trigger(). See/docs/how-to/discover-workers-functions-triggers.
Examples
# 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"}
})
Pattern Boundaries
- For usage patterns and working examples, see
iii-functions-and-triggers - For HTTP middleware patterns, see
iii-http-middleware - For Node.js SDK, see
iii-node-sdk - For Rust SDK, see
iii-rust-sdk - For browser-side usage, see
iii-browser-sdk
When to Use
- Use this skill when the task is primarily about
iii-python-sdkin the iii engine. - Triggers when the request directly asks for this pattern or an equivalent implementation.
Boundaries
- Never use this skill as a generic fallback for unrelated tasks.
- You must not apply this skill when a more specific iii skill is a better fit.
- Always verify environment and safety constraints before applying examples from this skill.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/iii-hq/iii/iii-python-sdk">View iii-python-sdk on skillZs</a>