SDKs
Overview
ZAP SDKs and language bindings — pick your language, install, generate code.
SDKs
ZAP ships first-class implementations for every major language. All implementations target byte-for-byte compatibility with the spec, share the same .zap schema language, and follow the same versioning.
Core SDKs
| Language | Package | Repo | Status |
|---|---|---|---|
| TypeScript / JavaScript | @zap-proto/zap | zap-proto/ts | stable |
| Go | github.com/zap-proto/go | zap-proto/go | stable |
| Python | zap-proto | zap-proto/py | stable |
| Rust | zap-proto (crates.io) | zap-proto/rust | stable |
| C++ | — (cmake) | zap-proto/cpp | stable |
| C++ core | — (cmake) | zap-proto/cpp-core | stable |
| C | — (autotools) | zap-proto/c | stable |
| .NET / C# | ZapProto (NuGet) | zap-proto/cs | stable |
| Java | io.zap-proto:zap | zap-proto/java | stable |
| WebAssembly | @zap-proto/wasm | zap-proto/zap-wasm | stable |
Community SDKs
| Language | Repo | Status |
|---|---|---|
| OCaml | zap-proto/ocaml | beta |
| OCaml RPC | zap-proto/ocaml-rpc | beta |
| Haskell | zap-proto/haskell | beta |
| Erlang | zap-proto/erlang | beta |
| Scala | zap-proto/scala | beta |
| Lua | zap-proto/lua | beta |
| Ruby | zap-proto/ruby | beta |
| Nim | zap-proto/nim | beta |
| D | zap-proto/d | beta |
Wire Encoders
These are stand-alone wire codecs (no RPC layer) for embedding ZAP into other stacks.
| Package | Repo |
|---|---|
@zap-proto/zap-es (TS, Cap'n-Proto-style) | zap-proto/zap-es |
Editor / IDE Plugins
| Editor | Package | Repo |
|---|---|---|
| VS Code | Marketplace | zap-proto/vscode |
| IntelliJ / JetBrains | — | zap-proto/intellij |
| Vim / Neovim | — | zap-proto/vim |
| Sublime Text | — | zap-proto/sublime |
| Shiki / TextMate / web syntax | @zap-proto/syntax | zap-proto/syntax |
| Language Server | — | zap-proto/lsp |
Tools
| Tool | Repo |
|---|---|
| Wireshark dissector | zap-proto/wireshark |
| Compiler-plugin test framework | zap-proto/test |
| Logos & brand assets | zap-proto/logo |
Protocols
ZAP is both a native RPC system and a carrier for higher-level protocols. See the protocols section for full guides.
| Protocol | Package | Repo | Guide |
|---|---|---|---|
| Native ZAP RPC | (any SDK) | — | Native ZAP RPC |
| HTTP (net/http drop-in) | github.com/zap-proto/http | zap-proto/http | HTTP over ZAP |
| MCP (Model Context Protocol) | github.com/zap-proto/mcp | zap-proto/mcp | MCP over ZAP |
| A2A (Agent-to-Agent) | github.com/zap-proto/a2a | zap-proto/a2a | A2A over ZAP |
| ACP (Agent Communication, FIPA-style) | github.com/zap-proto/acp | zap-proto/acp | ACP over ZAP |
| RNS (Resource Name Service) | github.com/zap-proto/rns | zap-proto/rns | RNS over ZAP |
| FIX 4.4 / 5.0 trading | github.com/zap-proto/fix | zap-proto/fix | FIX over ZAP |
| WS (multi-stream pubsub) | github.com/zap-proto/ws | zap-proto/ws | WS over ZAP |
| Bench (HTTP perf harness) | github.com/zap-proto/bench | zap-proto/bench | Benchmarks |
Specification & Research
| What | Repo |
|---|---|
| Wire spec (canonical) | zap-proto/spec |
| Papers (design + research) | zap-proto/papers |
| Formal proofs | zap-proto/proofs |
| Benchmark suite | zap-proto/benchmarks |