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.
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 viarerun 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:
init,set_time,logsaveto.rrdNo viewer, no
spawn, no gRPC client.Describe alternatives you've considered
rerunCLI — workable, but means shipping the CLI in worker images and treating its behavior as an API.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.