iio-governance SDK

v1.0.0 · Apache 2.0 · Python 3.9+
pip install iio-governance
# oder
bash <(curl -s https://iio.space/install.sh)

SmartTriage

Deterministisches Event-Routing. Kein LLM. DE/EN/FR. 15 Kategorien.

from iio_governance import SmartTriage

triage = SmartTriage()
result = triage.triage(
    subject="Server down",
    body="Critical failure in production",
    tenant="bilz"
)
print(result.priority)        # "P1"
print(result.routing_target)  # "incident"
print(result.confidence)      # 0.95

Parameters

subjectstrEvent-Titel (required)
bodystrDetailbeschreibung (optional)
tenantstrTenant-ID für Routing-Overrides

TokenTracker

Token-Verbrauch tracken und Kosten berechnen.

from iio_governance import TokenTracker

tracker = TokenTracker("bilz", plan="professional")
tracker.record("iio-core-v1", prompt_tokens=450, completion_tokens=280)
summary = tracker.summary()
# {"total_tokens": 730, "cost_eur": 99.0, "plan": "professional"}

AsyncIIOClient

Alle Tools als async/await Coroutinen. Thread-Pool backed.

from iio_governance.async_tools import AsyncIIOClient
import asyncio

async def main():
    async with AsyncIIOClient() as client:
        # Concurrent calls
        triage, geo = await asyncio.gather(
            client.triage("Server down"),
            client.geo(),
        )
        print(triage["priority"], geo["score"])

asyncio.run(main())

LangChain Integration

from iio_governance.langchain_tools import get_langchain_tools
from langchain.agents import create_react_agent

tools = get_langchain_tools()  # 5 IIO Tools
# iio_smart_triage, iio_compliance_check, iio_token_tracker
# iio_knowledge_query, iio_hitl_gate_status

Runtime Validation

from iio_governance.validation import TriageInput, BillingRequest

# Type-checked at runtime
t = TriageInput(subject="Server down")
b = BillingRequest(tenant_id="bilz", period="2026-05", plan="professional")

# Raises ValidationError on invalid data
try:
    BillingRequest(tenant_id="x", period="invalid")
except ValidationError as e:
    print(e)  # "period must be YYYY-MM format"

OpenTelemetry

from iio_governance.otel import get_tracer
tracer = get_tracer()

with tracer.span("my-operation", {"tenant": "bilz"}):
    result = triage.triage("Server down")

# Or as decorator:
@tracer.trace("custom-tool")
def my_function(x):
    return x * 2

Vollständige Docs: iio.space/docs · GitHub: iio-welcome