spiceai

Crates.iospiceai
lib.rsspiceai
version2.0.0
sourcesrc
created_at2024-03-21 05:27:28.225015
updated_at2024-04-30 01:58:03.553412
descriptionSDK for Spice.ai, an open-source runtime and platform for building AI-driven software.
homepage
repository
max_upload_size
id1181212
size36,881
Phillip LeBlanc (phillipleblanc)

documentation

README

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.

Commit count: 0

cargo fmt