Installing the CLI

The data-dict command line tool validates a data-dict.yaml file against the specification, against a dataset’s metadata, and against the data itself; it can also draft, render, export, and translate dictionaries. See validation for what each level checks.

Every release ships prebuilt binaries, so you don’t need a Rust toolchain to install it.

Install script

On macOS and Linux:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tidyverse/data-dict/releases/latest/download/data-dict-cli-installer.sh | sh

On Windows, in PowerShell:

powershell -ExecutionPolicy Bypass -c "irm https://github.com/tidyverse/data-dict/releases/latest/download/data-dict-cli-installer.ps1 | iex"

The script downloads the binary for your platform, verifies its checksum, and puts data-dict in ~/.cargo/bin (%USERPROFILE%\.cargo\bin on Windows), adding that directory to your PATH if it isn’t already there. Set DATA_DICT_CLI_INSTALL_DIR to install somewhere else, and DATA_DICT_CLI_NO_MODIFY_PATH=1 to leave your PATH alone.

To install a specific version, replace latest/download with download/v0.0.1 (or whichever tag you want).

Check that it worked:

data-dict --version

Download a binary

If you’d rather not pipe a script into a shell, grab the archive for your platform from the releases page, unpack it, and move the data-dict binary onto your PATH. Each archive has a matching .sha256 file, and every release has a combined sha256.sum.

The binaries aren’t code-signed, so macOS quarantines archives downloaded through a browser. If Gatekeeper refuses to run data-dict, clear the flag with xattr -d com.apple.quarantine data-dict, or use the install script above, which isn’t affected.

Prebuilt binaries are available for:

Platform Target
macOS (Apple silicon) aarch64-apple-darwin
macOS (Intel) x86_64-apple-darwin
Linux (ARM64, glibc) aarch64-unknown-linux-gnu
Linux (x86-64, glibc) x86_64-unknown-linux-gnu
Windows (x86-64) x86_64-pc-windows-msvc

Build from source

On any other platform, build it yourself with Cargo:

cargo install --git https://github.com/tidyverse/data-dict data-dict-cli

The prebuilt binaries bundle the data-dict.yaml language server, which the editor integrations use. A source install leaves it out unless you ask for it:

cargo install --git https://github.com/tidyverse/data-dict data-dict-cli --features lsp

Uninstall

Delete the binary:

rm ~/.cargo/bin/data-dict

The install script also leaves a receipt in ~/.config/data-dict-cli/data-dict-cli-receipt.json recording what it installed and where; you can delete that too.