Installation¶
Spikard ships a Rust core plus 15 language bindings. Install only what you need; every binding shares the same runtime behavior.
Install by binding¶
Requires Python ≥ 3.10. Wheels ship for CPython 3.10–3.13 on Linux (amd64, arm64), macOS (amd64, arm64), and Windows.
Requires Node ≥ 18. Prebuilt binaries available for Linux, macOS, and Windows.
Requires PHP ≥ 8.2. For CI or non-interactive Composer runs:
Add to your mix.exs dependencies:
Requires Elixir ≥ 1.14, OTP ≥ 25. Precompiled NIFs available; source builds require Rust.
Add to pom.xml:
<dependency>
<groupId>dev.spikard</groupId>
<artifactId>spikard</artifactId>
<version>0.16.0</version>
</dependency>
Requires Java ≥ 21.
Add to Package.swift:
Requires Swift ≥ 5.9.
Add to build.zig.zon:
.spikard = .{
.url = "https://github.com/spikard-dev/spikard/archive/v0.16.0.tar.gz",
.hash = "...",
},
Requires Zig 0.13 or later.
Download the prebuilt C library and header from GitHub Releases:
WASM provides client-side type stubs and serialization helpers for talking to a remote Spikard server. No server-side runtime.
CLI¶
Install the CLI for code generation and schema validation:
Local repo setup¶
The repo uses uv to manage Python deps and pnpm for JavaScript:
# install all languages + hooks
task setup
# or only the Python/Node deps needed for docs
uv sync --group docs --group doc --no-install-workspace
pnpm install --frozen-lockfile
When working on docs locally, run task docs:serve to launch MkDocs Material with live reload.