Skip to content

0.1.0-beta.4 · provisional API

Courier

Async Rust framework for composable data pipelines.
Source → Transform* → Sink[], declared in TOML, wired at runtime.

Courier — async Rust pipelines

What it does

  • Build pipelines declaratively from a TOML or JSON config file
  • Connect sources, transforms, and sinks through bounded channels
  • Fan out automatically to multiple sinks with a built-in broadcast splitter
  • Apply backpressure end-to-end through bounded channels
  • Retry failed sink writes with exponential backoff and a dead-letter destination
  • Embed scripted transforms in Rhai, Lua, or Python
  • Emit structured logs, metrics, and W3C-propagated traces over OpenTelemetry (OTLP)
  • Shut down gracefully on SIGINT via a shared CancellationToken

Where to start

  • Getting Started — install Courier and run your first pipeline.
  • Configuration — write config.toml files and tune error handling.
  • Architecture — understand the runtime, components, envelope, and backpressure.
  • Scripting — write transforms in Rhai, Lua, or Python.
  • Examples — end-to-end pipeline recipes.

Project status

Courier is at v0.1.0-beta.4. Treat the public API, configuration schema, and on-disk formats (including the dead-letter file format) as provisional. Breaking changes will be called out in the contributing guide and release notes.