Analysis updated 2026-06-24
Connect TypeScript Python and Rust services through one consistent function call interface
Replace homegrown queue and HTTP glue with named functions like orders validate
Trigger workflows from HTTP requests timers or queue messages without writing routing code
Inspect live function traces in the developer console
| iii-hq/iii | pyo3/pyo3 | louis-e/arnis | |
|---|---|---|---|
| Stars | 15,623 | 15,671 | 15,698 |
| Language | Rust | Rust | Rust |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 4/5 | 3/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Engine is Elastic License 2.0 so review the no-managed-service clause before deploying it commercially.
iii is a framework written in Rust that tries to solve a common problem in software development: as you add more services (individual programs that do specific jobs) to a system, the effort of connecting them all together grows rapidly. With iii, every service you add is automatically able to communicate with every other service the moment you register it, so adding your 20th service is no harder than adding your first. The framework revolves around three building blocks. A Worker is any process, a TypeScript API, a Python data pipeline, a Rust microservice, that registers with the iii engine. A Trigger is anything that makes work happen: an HTTP request, a scheduled timer, a queue message, or a state change. A Function is the actual piece of work, identified by a stable name like "orders::validate," that receives input and produces output. By organizing everything through these three concepts, iii gives your entire infrastructure a single consistent mental model. SDKs are available for Node.js, Python, and Rust, so teams can write workers in the language they prefer. There is also a developer console (built with React and Rust) for inspecting workers, functions, triggers, queues, and live traces. The engine itself is licensed under the Elastic License 2.0, which allows free use but restricts offering it as a managed cloud service, while the SDKs and console use the more permissive Apache License 2.0.
Rust framework that wires every registered service to every other service so adding the 20th worker is as easy as adding the first. Built around Workers, Triggers, and Functions.
Mainly Rust. The stack also includes Rust, Node, Python.
Engine is Elastic License 2.0 so you can use it freely but cannot resell it as a managed cloud service. SDKs and console are Apache 2.0.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.