Installation
Pre-built binaries (recommended)
Section titled “Pre-built binaries (recommended)”curl -fsSL https://clement-tourriere.github.io/dbcrust/install.sh | shCustomise:
# Specific versionDBCRUST_VERSION=v0.25.0 curl -fsSL https://clement-tourriere.github.io/dbcrust/install.sh | sh
# Custom directoryDBCRUST_INSTALL_DIR=/usr/local/bin curl -fsSL https://clement-tourriere.github.io/dbcrust/install.sh | shirm https://clement-tourriere.github.io/dbcrust/install.ps1 | iexCustomise:
$env:DBCRUST_VERSION = "v0.25.0"; irm https://clement-tourriere.github.io/dbcrust/install.ps1 | iexThis installs two binaries: dbcrust (full name) and dbc (short alias).
Python package managers
Section titled “Python package managers”uv (recommended)
Section titled “uv (recommended)”uv tool install dbcrust # global tooluvx dbcrust <url> # run without installinguv add dbcrust # add to a projectpip / pipx
Section titled “pip / pipx”pip install dbcrust# orpipx install dbcrustFrom source
Section titled “From source”Prerequisites
Section titled “Prerequisites”- Rust stable — install from rustup.rs
- mise 2026.8.16+ (optional but recommended) — manages Bun, dev tools, and the Rust build cache
git clone https://github.com/clement-tourriere/dbcrust.gitcd dbcrust
# Option A: with mise (recommended for development)mise install # installs Bun, Commitizen, Mr Boxington, etc.mise run build # release buildmise run build:dev # debug build (faster)mise run install # build + install dbcrust and dbc into ~/.cargo/bin
# Option B: cargo only (CLI only, no GUI)cargo install --path . --locked --forceBuilding the GUI
Section titled “Building the GUI”The desktop GUI requires Bun (for the frontend) and Tauri prerequisites. Mise handles Bun automatically.
mise install # installs Bunmise run gui:install # install frontend depsmise run gui:dev # development modemise run gui:build # production buildSee Desktop GUI for details.
Python bindings
Section titled “Python bindings”mise run py:dev # maturin develop (editable install)mise run py:build # build wheel# orpip install -e ./pythonShell completion
Section titled “Shell completion”Enable tab-completion for URL schemes, container names, session names, compatible data files, and flags.
mkdir -p ~/.local/share/bash-completion/completionsdbcrust --completions bash > ~/.local/share/bash-completion/completions/dbcrustdbc --completions bash > ~/.local/share/bash-completion/completions/dbcsource ~/.bashrcmkdir -p ~/.zfuncdbcrust --completions zsh > ~/.zfunc/_dbcrustdbc --completions zsh > ~/.zfunc/_dbcAdd to ~/.zshrc (before source $ZSH/oh-my-zsh.sh if you use oh-my-zsh):
fpath+=~/.zfuncautoload -U compinit && compinitdbcrust --completions fish > ~/.config/fish/completions/dbcrust.fishdbc --completions fish > ~/.config/fish/completions/dbc.fishdbcrust --completions powershell > "$HOME\Documents\PowerShell\Completions\dbcrust.ps1"dbcrust --completions nushell | save -f ($env.NU_VENDOR_AUTOLOAD_DIR | path join "dbcrust.nu")Completions are answered live by the dbcrust binary itself (the script calls
it back at Tab time), so saved sessions, running Docker containers, and
compatible files are always current — just keep dbcrust on your PATH.
After setup:
dbc pos[TAB] → postgres://dbc docker://[TAB] → lists running containersdbc session://[TAB] → lists saved sessionsdbc --[TAB] → shows flagsVerify
Section titled “Verify”dbcrust --version
# Quick test (no external database needed)dbcrust sqlite://:memory: --query "SELECT 'Hello DBCrust!' as message"Supported databases
Section titled “Supported databases”| Database | Versions | URL scheme |
|---|---|---|
| PostgreSQL | 9.6+ | postgres:// |
| MySQL | 5.7+ | mysql:// |
| SQLite | 3.6+ | sqlite:// |
| ClickHouse | 20.3+ | clickhouse:// |
| MongoDB | 4.0+ | mongodb://, mongodb+srv:// |
| Elasticsearch | 7.x+ | elasticsearch://, es:// |
File formats (via Apache DataFusion):
| Format | URL scheme |
|---|---|
| Parquet | parquet:// |
| CSV | csv:// |
| JSON | json:// |
Bare paths such as users.csv, warehouse.parquet, and app.sqlite are also accepted and inferred from the extension.
Special schemes:
| Scheme | Purpose |
|---|---|
docker:// | Connect to database containers |
session:// | Saved sessions |
recent:// | Recent connections |
file:// | Interactive compatible-file picker |
vault:// | HashiCorp Vault credentials |
Updating
Section titled “Updating”DBCrust can update itself. It detects how it was installed (uv tool, pipx, pip, cargo, standalone binary), checks GitHub for the latest release, and runs — or prints — the matching upgrade command:
dbcrust --updateOr update manually through your install channel:
# Pre-built binary — just re-run the installercurl -fsSL https://clement-tourriere.github.io/dbcrust/install.sh | sh
# uvuv tool upgrade dbcrust
# pipxpipx upgrade dbcrust
# pippip install --upgrade dbcrust
# From sourcegit pull && mise run install # or: cargo install --path . --locked --forceUninstalling
Section titled “Uninstalling”# uvuv tool uninstall dbcrust
# pippip uninstall dbcrust
# cargocargo uninstall dbcrust
# Remove config (optional)rm -rf ~/.config/dbcrust