Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
iii-hq avatar

Iii Python Sdk

  • 219 installs
  • Updated January 1, 1970
  • iii-hq/skills

Python SDK for integrating with workflow orchestration and automation platform

About

Official Python SDK for platform integration. Provides complete Python interface for developers to build backend services, trigger workflows, and integrate with the orchestration platform from Python applications and scripts.

  • Python SDK
  • Platform integration
  • Async/await support

Iii Python Sdk by the numbers

  • 219 all-time installs (skills.sh)
  • Ranked #59 of 290 Python skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/iii-hq/skills --skill iii-python-sdk

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs219
Last updatedJanuary 1, 1970
Repositoryiii-hq/skills

What it does

Python SDK for integrating with workflow orchestration and automation platform

Files

SKILL.mdMarkdownGitHub ↗

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

ExportPurpose
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 / ApiResponseHTTP request/response types (pydantic)
IStreamInterface for custom stream implementations
on_functions_available(callback)Listen for function discovery
on_connection_state_change(callback)Monitor connection state

Key Notes

  • register_worker() returns a synchronous client; handlers are async
  • ApiResponse uses camelCase statusCode (pydantic alias), not status_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 synchronous trigger(request). Use trigger_async inside async handlers, and trigger in synchronous scripts or threads where blocking behavior is desired.

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 Node.js SDK, see iii-node-sdk
  • For Rust SDK, see iii-rust-sdk

When to Use

  • Use this skill when the task is primarily about iii-python-sdk in 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.

Related skills

Pythonbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.