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
| For | You need |
|---|---|
streamform check, explain, graph, test, inspect-plan | Nothing beyond the binary. The simulator runs in-process. |
streamform build --backend flink | Nothing beyond the binary; it writes SQL. |
streamform apply | A Flink cluster with the SQL Gateway and the Kafka SQL connector on its classpath. |
| The bundled local environment | Docker. 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.