Installation¶
Getting Quiver up and running is as easy as shooting an arrow! Well, maybe easier. 🎯
Go Package¶
The simplest way to use Quiver is as a Go package in your application:
That's it! You're ready to import Quiver in your Go code:
Prerequisites¶
Quiver has minimal dependencies, but you'll need:
- Go 1.18 or later
- A C compiler (for DuckDB integration)
Platform Support¶
Quiver runs on:
- Linux (x86_64, ARM64)
- macOS (x86_64, Apple Silicon)
- Windows (x86_64)
Building from Source¶
If you want to build Quiver from source (maybe you want to contribute or just like the smell of freshly compiled code), here's how:
# Clone the repository
git clone https://github.com/TFMV/quiver.git
cd quiver
# Build the library
go build ./...
# Run tests
go test ./...
Docker¶
Prefer to keep things containerized? We've got you covered:
# Pull the Quiver image
docker pull tfmv/quiver:latest
# Run Quiver in a container
docker run -p 8080:8080 -v /path/to/data:/data tfmv/quiver
Verifying Your Installation¶
Let's make sure everything is working:
package main
import (
"fmt"
"github.com/TFMV/quiver"
"go.uber.org/zap"
)
func main() {
// Create a logger
logger, _ := zap.NewDevelopment()
// Initialize Quiver
config := quiver.Config{
Dimension: 3,
StoragePath: ":memory:", // In-memory for testing
}
idx, err := quiver.New(config, logger)
if err != nil {
panic(err)
}
defer idx.Close()
fmt.Println("Quiver initialized successfully!")
}
If this runs without errors, you're all set! 🎉
Next Steps¶
Now that you have Quiver installed, check out the Quick Start Guide to learn how to use it.