Getting Started

This guide walks through installing the Kumiho Go SDK and creating your first assets. For the complete, generated API reference see API Reference.

Install

go get github.com/KumihoIO/kumiho-SDKs/go
import kumiho "github.com/KumihoIO/kumiho-SDKs/go"

Connect & authenticate

Connect dials a Kumiho data-plane endpoint. Authentication is loaded automatically from the KUMIHO_AUTH_TOKEN environment variable or from the credentials file written by kumiho-cli login.

ctx := context.Background()
client, err := kumiho.Connect(ctx, "https://us-central.kumiho.cloud")
if err != nil {
    log.Fatal(err)
}
defer client.Close()

Create assets

The fluent domain types mirror the Python SDK:

project, _ := client.CreateProject(ctx, "my-vfx-project", "VFX assets")
space, _   := project.CreateSpace(ctx, "characters", "")
item, _    := space.CreateItem(ctx, "hero", "model")
rev, _     := item.CreateRevision(ctx, nil, 0)
art, _     := rev.CreateArtifact(ctx, "mesh", "/assets/hero.fbx", nil)
rev.Tag(ctx, "approved")

A Kref is a URI that identifies any object: kref://project/space/item.kind?r=REVISION&a=ARTIFACT.

Search & discovery

The Go SDK has full parity with Python, including the newer retrieval features:

// Full-text fuzzy search (typo-tolerant), ranked by relevance.
page, _ := client.Search(ctx, "hero", kumiho.SearchOptions{KindFilter: "model"})

// Semantic scoring of specific revisions against a query.
// (scoreFields = nil uses the stored embeddings.)
scored, _ := client.ScoreRevisions(ctx, "approved hero",
    []string{"kref://my-vfx-project/characters/hero.model?r=1"}, nil)

// Fetch many revisions in one round-trip (by item kref + tag here).
revs, notFound, _ := client.BatchGetRevisions(ctx,
    nil,                                                   // revisionKrefs
    []string{"kref://my-vfx-project/characters/hero.model"}, // itemKrefs
    "latest",                                              // tag
    true,                                                  // allowPartial
)

These mirror the Python search, score_revisions, and batch_get_revisions.

Next steps