Dotnet SDK

Dotnet SDK for Spice.ai

The Dotnet SDK spiceai is the easiest way to query Spice.ai from Dotnet.

It uses Apache Arrow Flight to efficiently stream data to the client and Apache Arrow Records as data frames.

Requirements

  • .Net 6.0+ or .Net Standard 2.0+

Installation

Add Spice SDK

dotnet add package spiceai

Usage

  1. Create a SpiceClient by providing your API key to SpiceClientBuilder. Get your free API key at Spice.ai.

using Spice;

var client = new SpiceClientBuilder()
    .WithApiKey("API_KEY")
    .WithSpiceCloud("http://my_remote_spice_instance:50051")
    .Build();
  1. Execute a query and get back an Apache Arrow Flight Client Record Batch Stream Reader.

var reader = await client.Query("SELECT * FROM tpch.lineitem LIMIT 10;");
  1. Iterate through the reader to access the records.

var enumerator = result.GetAsyncEnumerator();
while (await enumerator.MoveNextAsync())
{
    var batch = enumerator.Current;
    // Process batch
}

Usage with local Spice runtime

Follow the quickstart guide to install and run spice locally.

using Spice;

var client = new SpiceClientBuilder()
    .Build();
    
var data = await client.Query("SELECT trip_distance, total_amount FROM taxi_trips ORDER BY trip_distance DESC LIMIT 10;");

Contributing

Contribute to or file an issue with the spice-dotnet library at: https://github.com/spiceai/spice-dotnet

Last updated

Was this helpful?