Kumiho Go SDK
Graph-native creative & AI asset management for Go
Kumiho is the Go client for Kumiho Cloud, a graph-native creative and AI asset-management system. Kumiho tracks revisions, relationships, and lineage without uploading your files (“BYO storage”) — it stores paths, metadata, and the dependency graph.
The Go SDK mirrors the Python gold-standard SDK: a low-level Client that
wraps every gRPC method, plus fluent domain types (Project, Space,
Item, Revision, Artifact, Edge, Bundle). It has full
feature parity with the Python SDK.
Key Features
Graph-Native Design: track asset relationships, dependencies, and lineage
Version Control: immutable revisions with full history and tagging
BYO Storage: files stay on your local / NAS / on-prem storage
Full-text fuzzy search & semantic scoring:
SearchandScoreRevisionsBatch fetch:
BatchGetRevisionsfor many revisions in one round-tripEvent streaming:
EventStreamwith cursor resume, consumer groups, andGetEventCapabilitiesIdiomatic Go:
context.Contextthroughout, typed errors, no globals
Installation
go get github.com/KumihoIO/kumiho-SDKs/go
Quick Start
ctx := context.Background()
client, err := kumiho.Connect(ctx, "https://us-central.kumiho.cloud")
if err != nil {
log.Fatal(err)
}
defer client.Close()
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)
rev.CreateArtifact(ctx, "mesh", "/assets/hero.fbx", nil)
rev.Tag(ctx, "approved")
The full, generated API reference is in kumiho.
Contents
- Getting Started
- kumiho
- Quick start
- Index
- Constants
- Variables
- func IsNotFound
- func IsValidEdgeType
- func IsValidKref
- func TenantSlug
- func ValidateEdgeType
- func ValidateKref
- type Artifact
- type Bundle
- type BundleMember
- type BundleRevisionHistory
- type CacheControl
- type Client
- type ClientBuilder
- type DiscoveryError
- type DiscoveryRecord
- type Edge
- type EdgeDirection
- type EdgeTypeValidationError
- type Event
- type EventCapabilities
- type EventStream
- type ImpactedRevision
- type InvalidArgumentError
- type Item
- type Kref
- type KrefValidationError
- type KumihoError
- type Page
- type PathStep
- type Project
- type ProjectLimitError
- type RegionRouting
- type ReservedKindError
- type Revision
- type RevisionPath
- type ScoredRevision
- type SearchOptions
- type SearchResult
- type ShortestPathResult
- type Space
- type TenantUsage
- type TraversalResult
- kumihopb
- Index
- Constants
- Variables
- func RegisterKumihoServiceServer
- type AddBundleMemberRequest
- type AddBundleMemberResponse
- type ArtifactResponse
- type BatchGetRevisionsRequest
- type BatchGetRevisionsResponse
- type BundleMember
- type BundleRevisionHistory
- type CreateArtifactRequest
- type CreateBundleRequest
- type CreateEdgeRequest
- type CreateItemRequest
- type CreateProjectRequest
- type CreateRevisionRequest
- type CreateSpaceRequest
- type DeleteArtifactRequest
- type DeleteAttributeRequest
- type DeleteEdgeRequest
- type DeleteItemRequest
- type DeleteProjectRequest
- type DeleteRevisionRequest
- type DeleteSpaceRequest
- type Edge
- type EdgeDirection
- type Event
- type EventCapabilities
- type EventStreamRequest
- type EventStreamRequest_FromBeginning
- type EventStreamRequest_FromCursor
- type EventStreamRequest_FromLatest
- type EventStreamRequest_FromTimestamp
- type GetArtifactRequest
- type GetArtifactsByLocationRequest
- type GetArtifactsByLocationResponse
- type GetArtifactsRequest
- type GetArtifactsResponse
- type GetAttributeRequest
- type GetAttributeResponse
- type GetBundleHistoryRequest
- type GetBundleHistoryResponse
- type GetBundleMembersRequest
- type GetBundleMembersResponse
- type GetChildSpacesRequest
- type GetChildSpacesResponse
- type GetEdgesRequest
- type GetEdgesResponse
- type GetEventCapabilitiesRequest
- type GetItemRequest
- type GetItemsRequest
- type GetItemsResponse
- type GetProjectsRequest
- type GetProjectsResponse
- type GetRevisionsRequest
- type GetRevisionsResponse
- type GetSpaceRequest
- type GetTenantUsageRequest
- type HasTagRequest
- type HasTagResponse
- type ImpactAnalysisRequest
- type ImpactAnalysisResponse
- type ImpactedRevision
- type ItemResponse
- type ItemSearchRequest
- type Kref
- type KrefRequest
- type KumihoServiceClient
- type KumihoServiceServer
- type KumihoService_EventStreamClient
- type KumihoService_EventStreamServer
- type PaginationRequest
- type PaginationResponse
- type PathStep
- type PeekNextRevisionRequest
- type PeekNextRevisionResponse
- type ProjectResponse
- type RemoveBundleMemberRequest
- type RemoveBundleMemberResponse
- type ResolveKrefRequest
- type ResolveLocationRequest
- type ResolveLocationResponse
- type RevisionPath
- type RevisionResponse
- type ScoreRevisionsRequest
- type ScoreRevisionsResponse
- type ScoredRevision
- type SearchRequest
- type SearchResponse
- type SearchResult
- type SetAttributeRequest
- type SetDefaultArtifactRequest
- type SetDeprecatedRequest
- type ShortestPathRequest
- type ShortestPathResponse
- type SpaceResponse
- type StatusResponse
- type TagRevisionRequest
- type TenantUsageResponse
- type TraverseEdgesRequest
- type TraverseEdgesResponse
- type UnTagRevisionRequest
- type UnimplementedKumihoServiceServer
- type UnsafeKumihoServiceServer
- type UpdateMetadataRequest
- type UpdateProjectRequest
- type WasTaggedRequest
- type WasTaggedResponse
- quickstart
For the other Kumiho SDKs see docs.kumiho.io (Python, C++, Dart, Rust). The canonical Go package reference is also available on pkg.go.dev.