Skip to content

[Feature]: Go Bindings for Moss #227

@anirudh-makuluri

Description

@anirudh-makuluri

Description

We should add native Go bindings so Go devs can use Moss without spinning up an HTTP service or dealing with REST calls. Right now we have Python and TypeScript SDKs, but Go is left out.

Use case

  • Go backend engineers building APIs/microservices
  • CLI tools that need semantic search
  • Anyone who just wants a native Go library instead of HTTP overhead
client := moss.NewClient(projectID, projectKey)
results, _ := client.Query(ctx, "my-index", "query")

Proposed solution

Keep the API similar to Python/TS SDKs so it's familiar.

MVP for first iteration:

  • Client — create, load indexes
  • Query — basic search
  • DocumentInfo — document structure
  • Error handling
  • Tests + examples
  • Linux x86_64 for now (other platforms later)

I can work on this solo.
Timeline: ~6-7 weeks

Alternatives considered

  • Just use HTTP APIs? Works, but adds latency and complexity for local use
  • Wait for something better? Nah, bindings are the standard approach everywhere else
  • gRPC? Overkill for this

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions