Skip to main content

Install

dfmt is one native program. It needs no JVM, no Python and no dbt, and installing it needs no administrator rights.

Platforms​

dfmt is built for three platforms:

PlatformNotes
macOS on Apple silicon (arm64)M1 and later
Linux x86_64Any distribution built on glibc: Debian, Ubuntu, Fedora, RHEL and most others
Windows x86_64Windows PowerShell 5.1 or PowerShell 7

These are not supported, and the installer stops with a message saying so:

  • Intel Macs
  • Linux on arm64 (aarch64)
  • Alpine and other Linux distributions built on musl
  • Windows on ARM64

macOS and Linux​

curl -fsSL https://dfmt.datoria.ai/install.sh | sh

The script downloads the release for your machine, checks it against the published SHA-256 checksum, runs it once to make sure it starts, and only then copies it into ~/.local/bin. It writes nothing outside that directory.

If ~/.local/bin is not on your PATH, the installer prints the line that adds it for your shell (zsh, bash, fish or a plain POSIX shell). For zsh that is:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

Then open a new terminal and check:

dfmt --version

Windows​

In PowerShell:

irm https://dfmt.datoria.ai/install.ps1 | iex

The script installs into %LOCALAPPDATA%\Programs\dlab and adds that folder to your user Path. The window you ran it in can use dfmt straight away. Windows that were already open see it once they are reopened.

What gets installed​

Two files, in ~/.local/bin (or %LOCALAPPDATA%\Programs\dlab on Windows): dfmt (dfmt.cmd on Windows), the command you type, and the program it runs.1

Choosing the version or the folder​

Two environment variables change what the installer does:

VariableEffect
DLAB_VERSIONInstall this version (0.1.0) instead of the latest release.
DLAB_INSTALL_DIRInstall into this folder instead of the default.
curl -fsSL https://dfmt.datoria.ai/install.sh | DLAB_VERSION=0.1.0 sh
$env:DLAB_VERSION = "0.1.0"; irm https://dfmt.datoria.ai/install.ps1 | iex

Pin DLAB_VERSION in CI, so a new release cannot change the result of a build that did not change. See CI Integration.

Upgrading​

Run the same install command again. It replaces the program in place, and a dfmt that is running at the time keeps working until it exits.

Uninstalling​

On macOS and Linux, delete the two files the installer wrote:

rm ~/.local/bin/dfmt ~/.local/bin/dlab

On Windows, delete the folder %LOCALAPPDATA%\Programs\dlab and remove it from your user Path (Settings → System → About → Advanced system settings → Environment Variables).

dfmt also keeps a random installation id for telemetry in ~/.config/dlab/ (or %APPDATA%\dlab\ on Windows). Delete that folder too if you want nothing left behind.

Footnotes​

  1. The program is named dlab (dlab.exe on Windows), and Datoria's later tools will ship in it too. You never need to type dlab to use dfmt. ↩