Skip to content

Library

When the built-in filters and sinks don’t fit your use-case, you can embed Oura as a Rust library and build your own pipeline stages — filtering on your own business logic and sending events wherever you need. Each Oura component (sources, filters, sinks) is self-contained, so you can reuse the stock pieces and only write the parts that are unique to you.

Installing

Add Oura to your project, either from crates.io:

Terminal window
cargo add oura

Or directly from GitHub, in your Cargo.toml:

Cargo.toml
oura = { git = "https://github.com/txpipe/oura.git" }

Example

The examples/lib project shows a complete custom pipeline — a custom filter plus a custom sink that persists events into SQLite — along with the dependencies it uses. Its README covers the sqlx-cli setup.