Skip to main content

Crate oxidelake_api

Crate oxidelake_api 

Source
Expand description

Public API facade (docs/SPEC.md §2.8): the fluent DataFrame API and SQL entry points over the runtime — OxideSession for sessions (embedded or cluster), OxideFrame for queries, and the l2_distance / cosine_distance SQL UDFs registered on every session.

use oxidelake_api::prelude::*;

let session = OxideSession::local()?;
session.register_parquet("t", "data/").await?;
let top = session
    .table("t")
    .await?
    .filter(col("k").gt_eq(lit(2)))?
    .vector_distance("emb", &[0.0; 8], DistanceMetric::L2, "d")?
    .sort(vec![col("d").sort(true, false)])?
    .limit(10)?
    .collect()
    .await?;

Dependency direction: depends on oxidelake-runtime (and oxidelake-core).

Modules§

prelude
Commonly used imports: the session and frame types plus the DataFusion expression builders the verbs take.

Structs§

OxideFrame
A lazily built query over one session, collected with Self::collect.
OxideSession
An OxideLake session.

Enums§

BackendKind
The execution backends OxideLake knows about.
DistanceMetric
Distance metric for the vector kernel.
EngineError
Errors produced by OxideLake library crates.
SessionMode
Where a session executes.

Traits§

OxideSessionExt
Frame-producing entry points on OxideSession.