abxbus is a production-ready, in-memory event bus library designed for asynchronous Python, TypeScript (Node, Bun, Deno, and Browser), Rust, and Go README.md9-17 It provides a unified API for building resilient event-driven applications with strong typing, deterministic execution, and deep observability docs/index.mdx17-24
The library is designed to eliminate repetitive complexity in event-driven codebases by providing built-in solutions for timeouts, concurrency control, and parent-child event tracking README.md35-41
event_parent_id and event_path, enabling visualization of event "trees" README.md27-28 docs/index.mdx23The following diagram bridges the natural language concepts of the event bus to the specific entities found in the codebase.
Code Entity Mapping: Core Bus Components
Sources: pyproject.toml2-19 docs/index.mdx34-64 docs/quickstart.mdx40-79 tests/test_eventbus.py25-30
abxbus provides high API symmetry across four major languages.
| Feature | Python | TypeScript | Rust | Go |
|---|---|---|---|---|
| Package | abxbus pyproject.toml2 | abxbus abxbus-ts/package.json2 | abxbus-rust docs/index.mdx70 | abxbus-go docs/quickstart.mdx41 |
| Schema | Pydantic pyproject.toml14 | Zod abxbus-ts/package.json74 | event! macro docs/index.mdx73 | Native Structs docs/index.mdx102 |
| Async | asyncio docs/quickstart.mdx53 | Promises docs/index.mdx63 | futures docs/index.mdx71 | channels/goroutines docs/index.mdx107 |
| Status | Reference | Production | Alpha/Parity | Alpha/Parity |
Cross-Runtime Wire Format Parity
Sources: README.md29-32 docs/index.mdx29-114 docs/quickstart.mdx101-158
Covers initial setup, including installation via pip install abxbus pyproject.toml2 or npm install abxbus abxbus-ts/package.json2 and minimal examples using BaseEvent and EventBus.emit().
For details, see Getting Started.
Technical specifications for supported environments, including Python 3.11+ pyproject.toml7 Node.js, Bun, Deno, and browsers abxbus-ts/package.json58-63 Explains the design goal of behavioral parity across all four implementations. For details, see Supported Runtimes & Language Parity.
Deep dive into the building blocks: EventBus, BaseEvent, EventHandler, and EventResult. This section explains how these components compose to handle the event lifecycle.
For details, see Core Architecture.
Explains how abxbus manages execution flow, including scheduling modes (bus-serial, parallel), completion strategies, and the "Queue-Jump" mechanism for immediate execution of nested events tests/test_eventbus.py106-123 Also covers the retry() decorator pyproject.toml34
For details, see Concurrency & Execution Model.
Overview of higher-level features such as parent-child lineage tracking, event forwarding between buses tests/test_comprehensive_patterns.py47 and the events_suck ergonomics layer.
For details, see Event Features.
Details on extending the bus via Bridges (Redis, NATS, Postgres, Tachyon) pyproject.toml20-40 and Middlewares for logging, tracing (OpenTelemetry), and persistence. For details, see Integrations.
Specific details regarding the Python, TypeScript, Go, and Rust implementations, their package layouts, and the shared JSON wire format. For details, see Language Implementations.
Details regarding the build pipelines (ESM/CJS for TS) abxbus-ts/package.json46-50 and the Python uv-based workflow pyproject.toml68-72
For details, see Package Structure & Build.
Overview of the test infrastructure, cross-runtime roundtrip tests, CI/CD pipelines, and performance benchmarks abxbus-ts/package.json55-63 For details, see Testing & Quality Assurance.
Walkthrough of runnable example scripts demonstrating real-world usage like immediate event processing and multi-bus topologies docs/index.mdx123-146 For details, see Example Applications.
Definitions of all codebase-specific terms, jargon, and domain concepts. For details, see Glossary.
Refresh this wiki