Block Catalog
Spade ships with three built-in block collections that cover most common data-processing needs. Each collection is a self-contained bundle of blocks you can install with spade install and reference from your pipelines.
| Collection | Blocks | Language | Purpose |
|---|---|---|---|
base | 12 | Rust | Core tabular data processing, map/reduce primitives |
data | 17 | Rust | Data import from remote storage and public datasets |
gdal | 46 | Python | Raster and vector operations wrapping the GDAL library |
Block naming🔗
Every block is identified by <collection>.<name>, for example base.filter_rows or gdal.warp. When you reference a block in a pipeline, you use this fully-qualified name.
Finding blocks🔗
Use the search box at the top of this site to find a specific block. Each block has its own page documenting its inputs, outputs, and usage.
Block kinds🔗
Blocks come in three kinds that reflect their role in a pipeline:
standard— a single invocation that consumes inputs and produces outputs.map— a fan-out block that emits an expansion manifest so downstream blocks run once per item.reduce— a fan-in block that consumes a collection produced by mapped blocks and emits a single consolidated output.
See Core Concepts: Map/Reduce for a full explanation of this pattern.
Installing the built-in collections🔗
Each collection is installed from its source directory or git URL:
spade install file:///path/to/blocks/base
spade install file:///path/to/blocks/data
spade install file:///path/to/blocks/gdalAfter installation, blocks are registered in ~/.spade/registry.db and can be referenced by any pipeline.
base
Core tabular data processing, map, and reduce blocks. Implemented in Rust.
Explore →data
Data import blocks for remote storage backends and public datasets. Implemented in Rust.
Explore →gdal
Raster and vector operations wrapping the GDAL/OGR command-line utilities. Implemented in Python.
Explore →