GitHub

SDK Platform Support

What each SDK actually ships and what is validated, as of 2026-06-12. “Shipped” means a prebuilt native client library is included in the package/tree; “validated” means a CI lane or recorded live run exercises it.

Platform C Go Java Node.js Python
x86_64 Linux (glibc) shipped + validated shipped + validated shipped + validated shipped + validated shipped + validated
x86_64 Linux (musl) shipped + validated (Alpine CI lane) — (glibc lib only) shipped shipped shipped
aarch64 Linux (glibc/musl) shipped shipped (glibc) shipped shipped shipped
x86_64 macOS shipped + validated (macOS CI lane) shipped shipped shipped shipped
aarch64 macOS shipped + validated (macOS ARM64 CI lane) shipped shipped shipped shipped
x86_64 Windows not shipped not shipped not shipped not shipped not shipped

Notes:

  • aarch64 Linux artifacts are cross-compiled by zig build clients:* but no CI lane runs on aarch64 hosts; treat as best-effort until one exists.
  • Windows: no SDK ships Windows binaries. The C tree previously contained an x86_64-windows/ directory holding only tb_client.dll/tb_client.lib — misnamed TigerBeetle-era leftovers that nothing could link as libarch_client (removed 2026-06-12; zig build clients:c never refreshed that directory because Windows is not in its target list). The Python package’s Windows trove classifier was removed for the same honesty reason. Adding Windows support to any SDK requires, in this order: a windows target in the relevant zig build clients:* step, the prebuilt committed/shipped, and a Windows job in CI exercising the live suite. Do not re-add platform claims ahead of that lane.
  • The platform a wheel/jar/npm package selects at runtime is detected at import time (libc detection on Linux); unsupported platforms fail with an explicit “Unsupported platform” error rather than undefined behavior.
Edit this page