Block Catalog

Spade ships with several 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.

CollectionBlocksLanguagePurpose
base15RustCore tabular data processing, map/reduce primitives
data18RustData import from remote storage and public datasets
gdal48PythonRaster and vector operations wrapping the GDAL library
cloud4GoPull user-uploaded assets into a pipeline (cloud-only)
fiadb6TypeScriptDesign-based FIA population estimates from the USFS FIADB-API
stats6RDescriptive statistics and hypothesis tests over tabular data

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/gdal
spade install file:///path/to/blocks/cloud
spade install file:///path/to/blocks/fiadb
spade install file:///path/to/blocks/stats

After installation, blocks are registered in ~/.spade/registry.db and can be referenced by any pipeline.