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 onlytb_client.dll/tb_client.lib— misnamed TigerBeetle-era leftovers that nothing could link aslibarch_client(removed 2026-06-12;zig build clients:cnever 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: awindowstarget in the relevantzig 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.