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:
| Platform | Notes |
|---|---|
| macOS on Apple silicon (arm64) | M1 and later |
| Linux x86_64 | Any distribution built on glibc: Debian, Ubuntu, Fedora, RHEL and most others |
| Windows x86_64 | Windows 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:
| Variable | Effect |
|---|---|
DLAB_VERSION | Install this version (0.1.0) instead of the latest release. |
DLAB_INSTALL_DIR | Install 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.