Links
Comment on page

Go SDK

Golang SDK for Spice.ai
The Go SDK gospice is the easiest way to query Spice.ai from Go.
It uses Apache Arrow Flight to efficiently stream data to the client and Apache Arrow Records as data frames.

Requirements

Installation

Get the gospice package.
go get github.com/spiceai/gospice

Usage

1. Create a SpiceClient passing in your API key. Get your free API key at spice.ai.
spice := gospice.NewSpiceClient()
defer spice.Close()
2. Initialize the SpiceClient.
if err := spice.Init("API Key"); err != nil {
panic(fmt.Errorf("error initializing SpiceClient: %w", err))
}
3. Execute a query and get back an Apache Arrow Reader.
reader, err := spice.Query(context.Background(), "SELECT * FROM eth.recent_blocks ORDER BY number LIMIT 10")
if err != nil {
panic(fmt.Errorf("error querying: %w", err))
}
defer reader.Release()
4. Iterate through the reader to access the records.
for reader.Next() {
record := reader.Record()
defer record.Release()
fmt.Println(record)
}

Example

Run go run . to execute a sample query and print the results to the console.
See client_test.go for examples on querying Ethereum and Polygon blocks.