Skip to content

Go SDK #12854

Description

@chensid

Is your feature request related to a problem? Please describe.

Rerun ships SDKs for Python, Rust, and C++. A lot of robotics data infrastructure — ingestion services, job workers, object-storage plumbing — is written in Go, and there is currently no way to produce or read the Rerun format from it.

One practical consequence: when a Go-based pipeline needs to emit a derived artifact for visualization, MCAP is reachable (github.com/foxglove/mcap/go/mcap) and RRD is not. So the choice gets made by SDK availability rather than by what suits the viewer — and the RRD-only capabilities (footer manifest, on-demand chunk loading via rerun server) stay out of reach for that whole class of services.

Describe the solution you'd like

Not the full SDK — the write path would cover most of it:

  • recording stream: init, set_time, log
  • a core set of archetypes (scalars, transforms, points, images)
  • save to .rrd

No viewer, no spawn, no gRPC client.

Describe alternatives you've considered

  • Shell out to the rerun CLI — workable, but means shipping the CLI in worker images and treating its behavior as an API.
  • A Python sidecar just to call the SDK — a second runtime and deployment unit for one function.
  • Emit MCAP instead — the viewer reads MCAP natively, so this gets you visualization without RRD. It's the pragmatic answer today, at the cost of the RRD-only capabilities above.

Additional context

I searched issues and discussions and didn't find an existing request for Go, so this is to gauge interest rather than to assert demand. If it's out of scope, that's a useful answer too — in that case, documenting the supported way to produce RRDs from outside the three SDK languages (a stable CLI contract, or format-stability guarantees for third-party writers) would cover most of the need.

Metadata

Metadata

Assignees

No one assigned

    Labels

    🪵 Log & send APIsAffects the user-facing API for all languages

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions