About stbass

stbass exists because modern AI agent orchestration is struggling with problems that parallel computing solved forty years ago.

Heritage

The core primitives and algebraic syntax of stbass are deeply inspired by the Occam-2 programming language, created in 1987 by David May and the team at INMOS for the Transputer architecture, which itself was based on Tony Hoare's 1978 paper on Communicating Sequential Processes (CSP).

We stand on the shoulders of these pioneers. The problems they solved — composing concurrent processes reliably, synchronizing via unbuffered channels, handling alternation deterministically — are the exact same problems faced by engineers building swarms of LLM agents today.

However, stbass is not a port of Occam-2. It adapts those proven semantics to Python's modern asyncio ecosystem, adding dynamic replication, Pydantic-typed channels, integration with the Model Context Protocol (MCP), and production-grade failure semantics.

What stbass is NOT

  • It is not a workflow engine. There is no central database orchestrating state. The graph executes via pure process communication.
  • It is not an agent framework. stbass doesn't know what an LLM is, nor does it provide prompt templates or chat histories. It orchestrates the execution of agents.
  • It is not a web framework. While it integrates into web servers, it does not route HTTP requests itself.

Design Principles

PrincipleMeaning
Rendezvous semanticsA sender blocks until a receiver consumes the value. No buffering. This enforces natural backpressure.
1:1 channel bindingEach channel has at most one writer and one reader, guaranteeing clear ownership of communication links.
Typed channelsEvery channel enforces a type spec at send time via Pydantic or isinstance checks. Inter-process communication must be sound.
Composition over inheritanceProcesses compose via SEQ, PAR, and ALT — not by deeply subclassing BaseAgent classes.
Failure as dataFailures are structured values (ProcessResult.fail(...)) containing full diagnostic context, not just uncaught exceptions that tear down the application.

Project Information

stbass is maintained by Shane Morris, Devin Hill and Alex Curnow from Dynamo Technologies in Vienna, Virginia.

Source code is available on GitHub. Install via PyPI.