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 quiqstart guide to install and run spice locally

use spiceai::ClientBuilder;

#[tokio::main]
async fn main() {
  let mut 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 mut 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 mut client = ClientBuilder::new()
    .api_key("API_KEY")
    .use_spiceai_cloud()
    .build()
    .await
    .unwrap();

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

§Firecache Query

Firecache SQL Query

use spiceai::ClientBuilder;

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

  let data = client.fire_query("SELECT * FROM eth.recent_blocks LIMIT 10;").await;
}

§Documentation

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

Structs§

  • The SpiceClient is the main entry point for interacting with the Spice API. It provides methods for querying the Spice Flight and Firecache endpoints.
  • Builder for creating a SpiceClient.

Traits§

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