A first-class Go SDK, written in pure Go rather than a cgo wrapper over another runtime.
Why native
cgo would cost Go the things that make it worth using: cross-compilation to a single static binary, the goroutine scheduler under streaming load, and a clean go get with no toolchain to install. It would also buy almost no speed, because Go decodes the wire about as fast as a foreign-call boundary costs to cross. The right shape for Go is a native peer of the existing SDKs, not a binding.
Scope
- A native Go client to the same data services the other SDKs use.
- The same method names and shapes as the Rust, Python, TypeScript, and C++ SDKs, held to the same machine-enforced cross-SDK parity guarantee.
- Idiomatic streaming over goroutines and channels.
go get-able and cross-compilable, with no native toolchain required to build or run.
Context
The earlier Go binding (#481) was FFI-based and was removed. This tracks a native replacement done the right way for the language.
A first-class Go SDK, written in pure Go rather than a cgo wrapper over another runtime.
Why native
cgo would cost Go the things that make it worth using: cross-compilation to a single static binary, the goroutine scheduler under streaming load, and a clean
go getwith no toolchain to install. It would also buy almost no speed, because Go decodes the wire about as fast as a foreign-call boundary costs to cross. The right shape for Go is a native peer of the existing SDKs, not a binding.Scope
go get-able and cross-compilable, with no native toolchain required to build or run.Context
The earlier Go binding (#481) was FFI-based and was removed. This tracks a native replacement done the right way for the language.