Installation¶
Prerequisites¶
Istos requires:
- Python 3.10, 3.11, 3.12, 3.13, or 3.14
- uv (recommended) or pip
Installing from PyPI¶
This will install Istos with its core dependencies: eclipse-zenoh, pydantic, pyyaml, and msgpack.
Optional Dependencies¶
Istos supports optional extras for additional functionality:
# Redis-backed distributed storage
uv pip install "istos[redis]"
# SQL-backed durability ledger (any SQLAlchemy DB — add your async driver)
uv pip install "istos[sqlalchemy]" asyncpg
# S3/MinIO persistence for durable pub/sub (producer-crash survival)
uv pip install "istos[s3]"
# JWTAuthorizer (PyJWT)
uv pip install "istos[jwt]"
# OpenTelemetry tracing
uv pip install "istos[otel]"
# Redis + SQLAlchemy + S3 + JWT + OpenTelemetry
uv pip install "istos[all]"
AsyncAPI's embedded UI uses aiohttp, which is a core dependency — no separate web extra.
Installing from Source¶
For the latest development version:
Development Installation¶
For development and testing:
This installs additional tools: pytest, pytest-asyncio, mypy, and pylint.
Verifying Installation¶
Zenoh Router
Istos uses Eclipse Zenoh for networking. For peer-to-peer mode (default), no external router is needed. For client mode or multi-network setups, you'll need a Zenoh router.