# abxbus > Fast strongly-typed Python + Typescript event bus library. ## Docs - [BaseEvent](https://abxbus.archivebox.io/api/baseevent.md): BaseEvent schema fields, lifecycle, and result helpers. - [EventBus](https://abxbus.archivebox.io/api/eventbus.md): EventBus constructors, configuration, and core methods. - [EventBusMiddleware](https://abxbus.archivebox.io/api/eventbusmiddleware.md): Base middleware interface for EventBus lifecycle hooks. - [EventHandler](https://abxbus.archivebox.io/api/eventhandler.md): EventHandler metadata and registration records. - [EventHistory](https://abxbus.archivebox.io/api/eventhistory.md): EventHistory ordered store API for lookup, retention, and trimming. - [EventResult](https://abxbus.archivebox.io/api/eventresult.md): EventResult fields, status, and handler execution results. - [retry](https://abxbus.archivebox.io/api/retry.md): Retry decorator/higher-order wrapper for async functions and handlers. - [Backpressure](https://abxbus.archivebox.io/concurrency/backpressure.md): How emit, queueing, and history limits interact under high event volume. - [Events: bus-serial](https://abxbus.archivebox.io/concurrency/events-bus-serial.md): Process one event at a time per bus, while allowing overlap across buses. - [Events: global-serial](https://abxbus.archivebox.io/concurrency/events-global-serial.md): Process only one event at a time across all buses. - [Events: parallel](https://abxbus.archivebox.io/concurrency/events-parallel.md): Allow multiple events to execute concurrently on the same bus. - [Handler Completion: all](https://abxbus.archivebox.io/concurrency/handler-completion-all.md): Wait for every matching handler before an event completes. - [Handler Completion: first](https://abxbus.archivebox.io/concurrency/handler-completion-first.md): Complete an event on the first successful handler result. - [Handlers: parallel](https://abxbus.archivebox.io/concurrency/handlers-parallel.md): Run handlers for one event concurrently. - [Handlers: serial](https://abxbus.archivebox.io/concurrency/handlers-serial.md): Run handlers one at a time per event, in registration order. - [Immediate Execution (RPC-style)](https://abxbus.archivebox.io/concurrency/immediate-execution.md): Queue-jump behavior for awaiting child events inside handlers. - [Timeout Enforcement](https://abxbus.archivebox.io/concurrency/timeouts.md): Configure execution deadlines and slow-warning thresholds at bus, event, and handler levels. - [Async and Sync Handlers](https://abxbus.archivebox.io/features/async-sync-handlers.md): Mix sync and async handlers across functions and method styles. - [Context Propagation](https://abxbus.archivebox.io/features/context-propagation.md): Carry request-scoped context through emit and handler execution (ContextVars / AsyncLocalStorage). - [Event Debouncing](https://abxbus.archivebox.io/features/event-debouncing.md): Deduplicate expensive event work using find(..., past/future) patterns. - [Event History Store](https://abxbus.archivebox.io/features/event-history-store.md): Understand queue vs history behavior and how retention settings trim old events. - [Event Pattern Matching](https://abxbus.archivebox.io/features/event-pattern-matching.md): Use classes, strings, or wildcards for both handler registration and event lookup. - [FIFO Event Processing](https://abxbus.archivebox.io/features/fifo-processing.md): Process queued events in deterministic first-in-first-out order. - [Find Events](https://abxbus.archivebox.io/features/find-events.md): Query history and optionally wait for matching future events. - [Forwarding Between Buses](https://abxbus.archivebox.io/features/forwarding-between-buses.md): Compose multiple buses with automatic forwarding loop prevention. - [Parent-Child Tracking](https://abxbus.archivebox.io/features/parent-child-tracking.md): Trace nested event flows with automatic parent-child lineage and tree logs. - [Return Value Handling](https://abxbus.archivebox.io/features/return-value-handling.md): Define typed handler returns and collect results from one emitted event. - [Type-Safe Events](https://abxbus.archivebox.io/features/typed-events.md): Define validated event payloads and event result types. - [Don't Like Events?](https://abxbus.archivebox.io/further-reading/events-suck.md): Practical patterns for teams who like events in theory but dislike event-driven DX in practice. - [Similar Projects](https://abxbus.archivebox.io/further-reading/similar-projects.md): Similar projects and licensing details. - [Overview](https://abxbus.archivebox.io/index.md): Unified docs for abxbus Python and TypeScript implementations. - [HTTPEventBridge](https://abxbus.archivebox.io/integrations/bridge-http.md): Forward events over HTTP(S) endpoints. - [JSONLEventBridge](https://abxbus.archivebox.io/integrations/bridge-jsonl.md): Forward events through newline-delimited JSON files. - [NATSEventBridge](https://abxbus.archivebox.io/integrations/bridge-nats.md): Forward events over NATS subjects. - [PostgresEventBridge](https://abxbus.archivebox.io/integrations/bridge-postgres.md): Forward events using PostgreSQL LISTEN/NOTIFY plus table storage. - [RedisEventBridge](https://abxbus.archivebox.io/integrations/bridge-redis.md): Forward events via Redis pub/sub channels. - [SocketEventBridge](https://abxbus.archivebox.io/integrations/bridge-socket.md): Forward events through Unix domain sockets. - [SQLiteEventBridge](https://abxbus.archivebox.io/integrations/bridge-sqlite.md): Forward events through a local SQLite table with polling. - [TachyonEventBridge](https://abxbus.archivebox.io/integrations/bridge-tachyon.md): Same-machine SPSC IPC bridge over a shared-memory ring buffer. - [Overview](https://abxbus.archivebox.io/integrations/bridges.md): Transport bridges for forwarding events across files, sockets, and external services. - [AutoErrorEventMiddleware](https://abxbus.archivebox.io/integrations/middleware-auto-error.md): Emit auto error events when handlers fail. - [AutoHandlerChangeEventMiddleware](https://abxbus.archivebox.io/integrations/middleware-auto-handler-change.md): Emit auto events when handlers are registered/unregistered. - [AutoReturnEventMiddleware](https://abxbus.archivebox.io/integrations/middleware-auto-return.md): Emit auto result events for non-None handler returns. - [LoggerEventBusMiddleware](https://abxbus.archivebox.io/integrations/middleware-logger.md): Log completed events to stdout and optional file. - [OtelTracingMiddleware](https://abxbus.archivebox.io/integrations/middleware-otel-tracing.md): Emit OpenTelemetry spans for events and handlers. - [SQLiteHistoryMirrorMiddleware](https://abxbus.archivebox.io/integrations/middleware-sqlite-history-mirror.md): Mirror event and handler snapshots into SQLite tables. - [WALEventBusMiddleware](https://abxbus.archivebox.io/integrations/middleware-wal.md): Persist completed events to a JSONL write-ahead log. - [Overview](https://abxbus.archivebox.io/integrations/middlewares.md): Middleware integrations for EventBus lifecycle hooks in Python and TypeScript. - [Development](https://abxbus.archivebox.io/operations/development.md): Local development workflows for both Python and TypeScript. - [Performance](https://abxbus.archivebox.io/operations/performance.md): Performance notes and benchmark snapshots. - [Supported Runtimes](https://abxbus.archivebox.io/operations/supported-runtimes.md): Runtime support details for Python and TypeScript. - [Quickstart](https://abxbus.archivebox.io/quickstart.md): Get started quickly with abxbus in Python or TypeScript. ## OpenAPI Specs - [openapi](https://abxbus.archivebox.io/api-reference/openapi.json)