Overview

Cargo (Rust)#

cargo install scythe-cli

Or use cargo-binstall to download a prebuilt binary without compiling:

cargo binstall scythe-cli

npm (Node.js)#

npm install --save-dev scythe-cli

A postinstall step downloads and verifies the correct binary for your platform automatically. Supported platforms: Linux (x64/arm64, glibc only), macOS (x64/arm64), and Windows (x64, with x64 emulation on ARM64).

pip (Python)#

pip install scythe-sql

The binary downloads on first use and is cached for subsequent invocations. In Docker, warm the cache during the build step so the first real invocation isn't the one paying the download cost:

RUN pip install scythe-sql && scythe --version

Homebrew (macOS/Linux)#

brew install Goldziher/tap/scythe

Installs a prebuilt binary — no Rust toolchain required.

From Source#

git clone https://github.com/Goldziher/scythe
cd scythe
cargo install --path crates/scythe-cli

Pre-commit Integration#

Add scythe to .pre-commit-config.yaml to lint and format SQL on every commit:

- repo: https://github.com/Goldziher/scythe
  rev: v0.15.0
  hooks:
    - id: scythe-fmt
    - id: scythe-lint

Verify the Install#

scythe --version

Next Steps#

Updated

Was this page helpful?