Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Rust bindings for RayforceDB, a high-performance columnar database designed for analytics and data operations. The core is written in pure C with minimal overhead — combining columnar storage with SIMD vectorization for lightning-fast analytics on time-series and big-data workloads.
The bindings call the core's C API directly (no marshalling shim), so reads are
zero-copy where it counts: a numeric column is exposed as a &[T] slice rather than
copied element by element.
Full Documentation: https://rs.rayforcedb.com/
Features
- Fluent API — chainable, intuitive query builders that read like the operation; real operator overloads for arithmetic, methods for comparisons.
- Zero-Copy & High Performance — build a column in a single
memcpy, read it back as a borrow; minimal overhead between Rust and the RayforceDB runtime via the C API. - Type-Safe — a full value model (atoms, vectors, lists, dicts, tables) with
ToValue/FromValueconversions and optionalchronotemporals. - Lightweight — the core is less than a 1 MB footprint.
- Batteries included — CSV & splayed I/O, binary serialization, and a TCP/IPC client.
Quick Start
use ;
let _rt = new?; // one live runtime per process
let quotes = new?;
let result = quotes
.select
.agg
.agg
.agg
.agg
.filter
.by
.execute?;
println!;
┌────────┬─────────┬─────────┬─────────┬───────┐
│ symbol │ max_bid │ min_bid │ avg_ask │ count │
│ SYM │ F64 │ F64 │ F64 │ I64 │
├────────┼─────────┼─────────┼─────────┼───────┤
│ GOOG │ 202.0 │ 200.0 │ 211.0 │ 3 │
├────────┴─────────┴─────────┴─────────┴───────┤
│ 1 rows (1 shown) 5 columns (5 shown) │
└──────────────────────────────────────────────┘
Installation
The crate links two local checkouts: the RayforceDB core (RAYFORCE_SRC) and the
rayforce-q IPC client (RAYFORCE_Q_SRC). The build script compiles both and statically
links librayforce.a.
# Cargo.toml
[]
= { = "https://github.com/RayforceDB/rayforce-rs" }
# default: ~/rayforce
# default: ~/rayforce-q
Requirements: a C toolchain (make, clang) and libclang for bindgen.
bindgen locates libclang via LIBCLANG_PATH. This is deliberately not set in the
repo's .cargo/config.toml. If bindgen can't auto-detect libclang, set it yourself:
# macOS (CTL):
# Linux:
The chrono is on by default for date/time/timestamp conversions.
Built with ❤️ for high-performance data processing | MIT Licensed | RayforceDB