go-ruby-arrow

Pure-Go (CGO=0), MRI-faithful red-arrow: Apache Arrow arrays/schema/table/record-batch + IPC over apache/arrow-go

pure Go ยท zero cgo Ruby arrow MRI-faithful rbgo-bindable differential oracle 100% coverage 6 arches
Documentation GitHub
Documentation (MkDocs Material + mike) License: BSD-3-Clause Go 1.26.4+ Coverage 100%

Pure-Go (CGO=0), MRI-faithful red-arrow: Apache Arrow arrays/schema/table/record-batch + IPC over apache/arrow-go. It is a pure-Go (no cgo) reimplementation of Ruby's arrow, mirroring its observable behaviour without any Ruby runtime. It is a standalone, reusable module โ€” the backend bound into go-embedded-ruby by rbgo, the same pattern as go-ruby-yaml โ€” differential-tested against reference Ruby, 100% coverage, CI green across 6 arches and 3 OSes.

Pure Go, zero cgo ready

arrow builds with CGO_ENABLED=0 โ€” it cross-compiles to every Go target with no C toolchain and links into a single static binary.

Reference-faithful ready

Mirrors the observable behaviour of Ruby’s arrow from reference Ruby (MRI), validated by a differential oracle against the reference rather than approximated โ€” without any Ruby runtime.

Standalone & reusable ready

A standalone Go module any program can import; the OAuth-style dependency runs the other way โ€” rbgo binds it into go-embedded-ruby as a native module, the same pattern as go-ruby-yaml.

100% coverage ยท 6 arches ready

100% test coverage is the CI gate, gofmt + go vet clean, green across the six 64-bit Go targets (amd64, arm64, riscv64, loong64, ppc64le, s390x โ€” including the big-endian lane).

A faithful pure-Go port of Ruby's arrow, cgo disabled, so it cross-compiles and embeds anywhere. Validated differentially against reference Ruby. It is a standalone, reusable module and the backend bound by rbgo into the sibling org github.com/go-embedded-ruby.