API reference
Yoda's exhaustive API reference is the rustdoc-generated HTML — every public type, trait, and method is documented there with feature-gate annotations and intra-doc links.
Online (docs.rs)
The published crate's reference lives at:
- docs.rs/yoda — the public-facing facade (
HtapEngine,HtapConfig,CdcSource,SidecarConfig) - docs.rs/yoda-core — shared traits (
OltpEngine,OlapEngine,CdcConsumer,SyncEngine,QueryRouter) and types (CdcEvent,SyncResult,QueryTarget,SyncMode) - docs.rs/yoda-sync —
CdcSyncEngine,SqlParserRouter, temporal SCD-2 helpers - docs.rs/yoda-olap —
OlapBackendenum dispatcher - docs.rs/yoda-duckdb — DuckDB engine (feature
duckdb-backend) - docs.rs/yoda-datafusion — DataFusion engine (default)
- docs.rs/yoda-oltp-rusqlite — Rusqlite OLTP engine
- docs.rs/yoda-tokio-rusqlite — standalone async rusqlite wrapper
- docs.rs/yoda-cdc-rocksdb — RocksDB CDC log (feature
rocksdb-cdc) - docs.rs/yoda-sidecar — timestamp-based CDC consumer (feature
sidecar) - docs.rs/yoda-flight — Arrow Flight SQL server (feature
flight-sql)
Local (offline)
To build the same HTML locally — useful when working from a checkout, or to read docs while offline:
cargo doc --workspace --no-deps --all-features --openThis generates HTML under target/doc/ and opens target/doc/yoda/index.html in your default browser.
For a long-running dev server (refresh in the browser to see edits):
cargo doc --workspace --no-deps --all-features
python3 -m http.server 8000 --directory target/doc
# visit http://localhost:8000/yoda/For continuous rebuilds while editing docs:
cargo install cargo-watch # one-time
cargo watch -x 'doc --workspace --no-deps --all-features'docs.rs parity
To exactly match the rendering docs.rs produces (catches docs.rs-specific quirks):
cargo install cargo-docs-rs # one-time
cargo +nightly docs-rs -p yoda --openPython API reference
The Python bindings expose a curated subset of the Rust API. The user-facing surface is documented in this site under Python → API Guide. The Rust-side /// doc comments in python/src/lib.rs are for Rust contributors only — the published Python type stubs (.pyi) are the source of truth for end-users.
Trait contracts
Yoda's extension points are traits in yoda-core:
| Trait | Purpose | Implementors |
|---|---|---|
OltpEngine | Transactional read/write backend | RusqliteEngine |
OlapEngine | Analytical query backend | DuckDbEngine, DataFusionEngine |
CdcConsumer | Read CDC events from a source | RusqliteCdcProducer, RocksDbCdcLog, TimestampCdcConsumer |
SyncEngine | Apply CDC events to OLAP | CdcSyncEngine |
QueryRouter | Decide OLTP vs OLAP for a SQL string | SqlParserRouter, HeuristicRouter |
SourceConnector | Sidecar source database | SQLite + Postgres via connector_arrow |
Implement these to plug in a new backend. See the trait docs on docs.rs for the contract details (Send/Sync requirements, # Errors, etc.).