Skip to content

Istos API Reference

The main Istos class — the entry point for building distributed services.

istos.Istos

Bases: _MessagingMixin, _StreamingMixin, _QueueMixin, _WebMixin, _LifecycleMixin

Unified entry-point for the Istos framework.

Usage

istos = Istos()

Or wire the network from a config; the session is built for you:

istos = Istos(config=IstosZenohConfig(mode="client"))

@istos.handle(prefix="robot/move") async def move(distance: int): return f"moved {distance}m"

class Drone: @istos.handle(prefix="drone/fly") def fly(self, altitude: int): return f"flying at {altitude}m"

istos.run() # sync entry await istos.run_async() # async entry

Source code in src/istos/app/__init__.py
class Istos(
    _MessagingMixin,
    _StreamingMixin,
    _QueueMixin,
    _WebMixin,
    _LifecycleMixin,
):
    """
    Unified entry-point for the Istos framework.

    Usage:
        istos = Istos()

        # Or wire the network from a config; the session is built for you:
        istos = Istos(config=IstosZenohConfig(mode="client"))

        @istos.handle(prefix="robot/move")
        async def move(distance: int):
            return f"moved {distance}m"

        class Drone:
            @istos.handle(prefix="drone/fly")
            def fly(self, altitude: int):
                return f"flying at {altitude}m"

        istos.run()          # sync entry
        await istos.run_async()  # async entry
    """