Skip to content

Installation

Alpha software

Scrutin is alpha software under active development. Expect bugs, breaking changes, and rough edges. Please report issues at github.com/vincentarelbundock/scrutin.

The scrutin binary

Prebuilt binaries are published with each release.

curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/vincentarelbundock/scrutin/releases/latest/download/scrutin-installer.sh | sh
powershell -ExecutionPolicy Bypass -c \
  "irm https://github.com/vincentarelbundock/scrutin/releases/latest/download/scrutin-installer.ps1 | iex"
cargo install scrutin

Once the binary is on PATH, run scrutin --version to confirm the install.

Editor extensions

With the binary installed above, Scrutin already works from any terminal.

If you want to call Scrutin from your editor instead, install the relevant extension:

The VS Code and Positron extensions bundle Scrutin directly; the RStudio addin shells out to the scrutin binary on PATH.

External tools

Scrutin orchestrates third-party tools but does not ship them. You only need to install the ones your project uses; each tool's docs page covers what Scrutin does with it.

Test frameworks

Installed as importable packages in the environment Scrutin uses for that suite (the active R library, or the suite's resolved Python virtualenv).

Tool Language Install Docs
testthat R install.packages("testthat") testthat page
tinytest R install.packages("tinytest") tinytest page
pytest Python uv add --dev pytest or pip install pytest pytest page

Data validation

Same story: importable packages loaded by the runner subprocess.

Tool Language Install Docs
pointblank R install.packages("pointblank") pointblank page
validate R install.packages("validate") validate page
Great Expectations Python uv add great_expectations Great Expectations page

Linters and spell checkers

Standalone binaries. Put them on PATH.

Tool Purpose Install Docs
jarl R linter install.packages("jarl") then jarl::jarl_install() jarl page
ruff Python linter / formatter uv tool install ruff or pipx install ruff ruff page
skyspell Dictionary-based spell checker See note below skyspell page
typos Curated-misspelling spell checker cargo install typos-cli typos page

skyspell needs enchant-2

skyspell links against the Enchant spell-checking library, so cargo install skyspell fails with a pkg-config error unless the development headers are on the system first.

sudo apt install libenchant-2-dev pkg-config
cargo install skyspell
sudo dnf install enchant2-devel pkgconf-pkg-config
cargo install skyspell
brew install enchant pkg-config
cargo install skyspell
sudo pacman -S enchant pkgconf
cargo install skyspell

Test frameworks and data-validation tools auto-detect from marker files (DESCRIPTION, pyproject.toml, tests/testthat/, ...) and activate automatically. Linters and spell checkers are opt-in: add a one-line [[suite]] entry in .scrutin/config.toml, covered in Getting Started.

At startup Scrutin checks that every required binary is reachable and refuses to run a suite whose binary is missing, with a pointer to the tool's homepage. Set [preflight] command_tools = false to bypass the check.