Crate spiceai

Source
Expand description

§Rust Spice SDK

Rust SDK for Spice.ai

§Installation

Add Spice SDK

cargo add spiceai

§Usage

§Usage with locally running spice runtime

Follow the quickstart guide to install and run spice locally

use spiceai::ClientBuilder;

#[tokio::main]
async fn main() {
  let client = ClientBuilder::new()
    .flight_url("http://localhost:50051")
    .build()
    .await
    .unwrap();

  let data = client.query("SELECT trip_distance, total_amount FROM taxi_trips ORDER BY trip_distance DESC LIMIT 10;").await;
}

§New client with https://spice.ai cloud

use spiceai::ClientBuilder;

#[tokio::main]
async fn main() {
  let client = ClientBuilder::new()
    .api_key("API_KEY")
    .use_spiceai_cloud()
    .build()
    .await
    .unwrap();
}

§Arrow Query

SQL Query

use spiceai::ClientBuilder;

#[tokio::main]
async fn main() {
  let client = ClientBuilder::new()
    .api_key("API_KEY")
    .use_spiceai_cloud()
    .build()
    .await
    .unwrap();

  let data = client.query("SELECT * FROM taxi_trips LIMIT 10;").await;
}

§Documentation

Check out our Documentation to learn more about how to use the Rust SDK.

Structs§

Client
The SpiceClient is the main entry point for interacting with the Spice API. It provides methods for querying the Spice Flight endpoint.
ClientBuilder
Builder for creating a SpiceClient.

Enums§

SpiceClientError

Traits§

StreamExt
An extension trait for Streams that provides a variety of convenient combinator functions.