Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install

Streamform is a single binary, free to use locally and in production with no account (what you may do with it). Nothing else is needed to check, explain, and test a project; Apache Flink is needed only when you build for it and apply.

Prebuilt binaries

Each release on the releases page ships tarballs for macOS (Apple silicon and Intel) and Linux x86_64, plus a checksums.txt. Verify the download against it, unpack, and put streamform on your PATH. On Apple silicon, for the latest release:

curl -fsSL https://github.com/glyf-data/streamform-releases/releases/latest/download/streamform-aarch64-apple-darwin.tar.gz | tar xz
sudo mv streamform /usr/local/bin/
streamform --version

Replace the target with x86_64-apple-darwin or x86_64-unknown-linux-gnu as needed; pin a version by replacing latest/download with download/<tag>, for example download/v0.5.0.

The example projects

The projects this site walks through are published beside the binary, together with a local Kafka and Flink environment for streamform apply:

curl -fsSL https://github.com/glyf-data/streamform-releases/releases/latest/download/streamform-examples.tar.gz | tar xz
cd streamform-examples

checksums.txt covers this archive too.

Homebrew, signatures, containers

Planned, and not available yet: brew install, signed release artifacts, a container image, and builds for Windows and aarch64 Linux. Until they exist, the tarball and its SHA-256 checksum are the install path.

What else you might want

ForYou need
streamform check, explain, graph, test, inspect-planNothing beyond the binary. The simulator runs in-process.
streamform build --backend flinkNothing beyond the binary; it writes SQL.
streamform applyA Flink cluster with the SQL Gateway and the Kafka SQL connector on its classpath.
The bundled local environmentDocker. flink-local/docker-compose.yml in the examples archive runs Kafka and Flink 2.0 for you.

Working from the repository (maintainers)

The source repository is private. It uses mise to pin the toolchain and run tasks:

git clone https://github.com/glyf-data/streamform
cd streamform
mise run setup                 # toolchain, dependencies, git hooks
mise run cli -- --version      # run the CLI from source
mise run check                 # everything CI runs

Without mise, install Rust 1.97 with rustfmt and clippy and use cargo directly.