Go SDK
Official Go SDK for Nara Lens.
Installation
Bash
go get github.com/naralens/naralens-goQuick Start
Go
package main
import (
"fmt"
"os"
"github.com/naralens/naralens-go"
)
func main() {
// Initialize the client
client := naralens.NewClient(os.Getenv("NARA_API_KEY"))
// Analyze an image
result, err := client.Analyze(&naralens.AnalyzeRequest{
Image: "https://example.com/image.jpg",
Perception: "detect:person,vehicle",
})
if err != nil {
panic(err)
}
// Access results
for _, obj := range result.Objects {
fmt.Printf("%s: %.1f%%\n", obj.Label, obj.Confidence*100)
fmt.Printf(" Bounding box: %v\n", obj.BBox)
}
}Client Options
Go
client := naralens.NewClient(
os.Getenv("NARA_API_KEY"),
naralens.WithTimeout(30 * time.Second),
naralens.WithBaseURL("https://custom.api.com"),
naralens.WithRetries(3),
)Error Handling
Go
result, err := client.Analyze(req)
if err != nil {
if apiErr, ok := err.(*naralens.APIError); ok {
fmt.Printf("API Error: %s (status %d)\n",
apiErr.Message, apiErr.StatusCode)
} else {
fmt.Printf("Error: %v\n", err)
}
return
}