Kontiki
Kontiki

Build services, watch them live, and get alerted when something fails — in one small Python stack.

Kontiki is a compact open-source stack for Python services. Build all your distributed system with Kontiki — from a complex domain service to a database backup job — and you get messaging, registry, logs, and alerts in one model, without a separate ops toolchain.

Kontiki

Write the methods. Run the service.

A Python framework on AMQP — you write entrypoints, Kontiki runs the bus.

  • Write only your business logic — Kontiki manages RabbitMQ connections, message routing (RPC, events, sessions, broadcast), service lifecycle, and configuration merge.
  • Design interactions as messages — RPC for request/reply; events with competing consumers, broadcast, or session-targeted delivery.
  • One model from config to tests — merged YAML, a unified runner, and kontiki.testing on the same bus shape as production.
  • Fleet-aware by design — heartbeats, degraded state, service groups, and flow correlation via the registry.

on_event

React when something happens on the bus.

Client

await messenger.publish("order.created", payload)

Server

class OrderService:
    @on_event("order.created")
    async def on_order(self, payload):
        ...

@rpc

Call another service like a local method.

Client

await StockProxy(messenger).get_stock(sku)

Server

class StockService:
    @rpc
    async def get_stock(self, sku):
        return self.delegate.stock_for(sku)

@http

Expose a simple HTTP API.

class HealthService:
    @http("/health", "GET")
    async def health(self, request):
        return {"ok": True}

@task

Run a periodic task.

class PollService:
    @task(interval=60)
    async def poll(self):
        ...

github.com/kontiki-org/kontiki

kontiki-tui

Watch your services live

A Textual TUI over the registry and monitor — fleet, open alerts, silences, and logs from one SSH session.

  • Services — status, heartbeat, versions, and mute; slice the fleet with service groups.
  • Flows — follow a flow_id as a message tree, with the exception where it landed.
  • Incidents & silences — open ops alerts and persisted mutes, without leaving the terminal.
  • Events, exceptions & logs — what the registry recorded, plus log files filtered by the same groups.
kontiki-tui services tab
Services tab
kontiki-tui incidents tab
Incidents tab

github.com/kontiki-org/kontiki-tui

kontiki-monitor

Get alerted when something fails

A small ops suite for Kontiki platforms — complete enough to run, simple enough to own.

  • Alerts that matter from day one — fleet gaps, degraded or down services, fingerprinted exceptions, full disks.
  • One complete ops loop — build, observe, get alerted — no patchwork of tools to glue together.
  • Platform-native, low overhead — built on the registry and the bus you already run, without a separate observability stack.
Telegram alert from kontiki-monitor
Alert when a service goes degraded

github.com/kontiki-org/kontiki-monitor

Get started

Install from PyPI

pip install kontiki kontiki-tui kontiki-monitor