Block Development Libraries
Spade provides official libraries for five languages. Each library handles the runtime details — reading inputs, loading parameters, writing outputs — so you can focus entirely on your processing logic.
| Language | Runtime | Install |
|---|---|---|
| Python | Python 3.12+ with uv | pip install spade |
| R | R 4.0+ with renv | install.packages("spade") |
| TypeScript | Bun 1.0+ | bun add spade |
| Go | Go 1.25+ | go get github.com/spade-dev/spade |
| Rust | Rust stable | cargo add spade |
All five libraries share the same concepts and workflow:
- Define a handler function that accepts typed inputs and parameters
- Process the data using your domain tools and libraries
- Return a typed output — the library writes it to the correct location
- Call
run(handler)— the library wires everything together
The libraries also provide a manifest builder that generates block manifest YAML from your handler's type annotations, keeping the manifest and implementation in sync.
Python
Build Spade blocks in Python using familiar tools and type hints.
Explore →R
Build Spade blocks in R using familiar R idioms and packages.
Explore →TypeScript
Build Spade blocks in TypeScript using the Bun runtime.
Explore →Go
Build Spade blocks in Go with generics and strong type safety.
Explore →Rust
Build Spade blocks in Rust with trait-based type safety.
Explore →