databricks-tui 0.17.3

Terminal dashboard for Databricks: compute, jobs, pipelines, warehouses, Unity Catalog, SQL console, costs and lineage
Documentation
# databricks-tui

Terminal dashboard for Databricks — monitor compute, jobs, pipelines, SQL warehouses, dashboards, and Unity Catalog in one view.

![demo](docs/demo.gif)

> Community project — not affiliated with, endorsed by, or supported by
> Databricks, Inc. It drives the official [Databricks CLI]https://docs.databricks.com/dev-tools/cli/
> with your own credentials; nothing is sent anywhere except your workspace.

- Animated splash screen and a Databricks-branded look: product-named panes
  (Compute, Lakeflow, SQL Warehouses, AI/BI Dashboards), status chips, and
  refresh flashes when new data lands
- Five color-coded panes that populate independently as each data source responds
- Jobs show their latest run result and a `✓✗✓` history strip, not just the config
- Health summary in the header: running / pending / failed / idle counts at a glance
- Active work floats to the top of every pane: running clusters, jobs and
  warehouses first, then pending, failures, finished, idle
- Grep any pane with `/`: filter by name, detail text or status
  (`/running` shows only running things)
- Drill into any item: formatted key facts and recent activity, raw JSON one key away
- Debug Lakeflow without the browser: drill from a job into any run
  (per-task states, durations, the actual error output of failed tasks)
  or from a pipeline into any update (state, cause, event-log entries
  with failures highlighted); live runs refresh themselves every few seconds
- SQL console (`:`): type a statement, run it on a warehouse, page through
  results — the whole lakehouse is queryable from the dashboard; with a
  table/view selected in the catalog pane, the prompt opens pre-filled with
  `SELECT * FROM catalog.schema.table LIMIT 100`, ready to edit; ↑/↓ cycle
  through past statements (persisted in ~/.config/databricks-tui/history),
  Ctrl+R searches them incrementally, Ctrl+X composes multi-line SQL in
  your $EDITOR, and Ctrl+S exports results to CSV — previews export with `e`
- Problems view (`!`): everything currently failing across all panes in
  one list, with Enter jumping straight to the culprit
- Act on resources: start/stop clusters, warehouses and pipelines, trigger job runs
- Inspect access: effective Unity Catalog grants (with inheritance) and
  workspace object ACLs for any selected item
- Warehouse details include recent query history: who ran what, how long
- DBU usage view scoped to the current workspace: 14 days of
  system.billing.usage as color-stacked daily
  bars, bucketed by SKU family (Jobs / SQL / All-Purpose / DLT), with
  list-price dollar estimates when system.billing.list_prices is readable,
  and a top-spenders table naming the jobs/clusters/warehouses behind the DBUs
- Table lineage: upstream and downstream tables for any table/view, from
  system.access.table_lineage
- Jump to any resource in the workspace web UI with one key
- Browse Lakeview dashboards: pages, widgets and datasets at a glance
- Unity Catalog browser: drill from catalogs into schemas, tables, views and
  volumes — and into the volumes themselves, browsing files and directories
  with sizes and ages; table details include the full column schema, and
  `p` previews sample rows in a terminal table (SELECT … LIMIT 50)
- Switch between workspaces (CLI profiles) without restarting
- Zoom into any pane, non-blocking refresh — the UI never freezes
- Eight color themes: terminal-default dark, light, Catppuccin Mocha & Latte,
  Gruvbox, Dracula, Nord and Tokyo Night — `t` cycles, `--theme` picks at
  launch, and the app remembers your theme and warehouse choice per profile
  across sessions (~/.config/databricks-tui/config.json)
- Built-in self-upgrade from GitHub releases

## Install

With Homebrew (macOS and Linux):

```bash
brew install pjhamera/tap/databricks-tui
```

Or download the latest release for your platform from the
[releases page](https://github.com/pjhamera/databricks-tui/releases):

```bash
# macOS (Apple Silicon)
curl -sL https://github.com/pjhamera/databricks-tui/releases/latest/download/databricks-tui-macos-arm64.tar.gz | tar xz
mv databricks-tui /usr/local/bin/
```

Artifacts: `databricks-tui-macos-arm64`, `databricks-tui-macos-x86_64`,
`databricks-tui-linux-x86_64` — each with a `.sha256` checksum.

Or with cargo:

```bash
cargo install databricks-tui
```

## Upgrade

```bash
databricks-tui upgrade
```

Detects your platform, checks the latest GitHub release, and replaces the
binary in place if a newer version exists.

## Uninstall

```bash
databricks-tui uninstall          # asks for confirmation
databricks-tui uninstall --yes    # no prompt
```

Removes the binary from wherever it is installed. The only other files the
app keeps are under `~/.config/databricks-tui/` (SQL history, preferences).

## Usage

```bash
databricks-tui                      # default profile, 30s refresh
databricks-tui --profile prod       # named CLI profile
databricks-tui --refresh 10         # refresh every 10 seconds
databricks-tui --theme light        # or catppuccin-mocha, catppuccin-latte,
                                    # gruvbox, dracula, nord, tokyo-night
```

The Clusters pane shows interactive (UI/API-created) clusters only —
job-created clusters are excluded, both for signal and because listing
them can be slow on busy workspaces.

## Keys

| Key | Action |
|-----|--------|
| `Tab` / `` / `l` | Focus next panel |
| `Shift+Tab` / `` / `h` | Focus previous panel |
| `` / `j`, `` / `k` | Select item in focused panel |
| `/` | Filter the focused panel (matches name, detail and status; `Enter` applies, `Esc` clears) |
| `Enter` | Open details for the selected item (drills down in Unity Catalog; in a job detail, opens the latest run) |
| `h` / `l` (run view) | Older / newer run or pipeline update; failures show their error output |
| `:` | SQL console: run any statement on a warehouse; ``/`` history, `Ctrl+R` search, `Ctrl+X` $EDITOR, `Ctrl+S` export CSV |
| `!` | Problems: everything failing across panes; `Enter` jumps to the item |
| `Backspace` | Go up one level in the Unity Catalog tree |
| `p` | Preview sample data for the selected table/view (may start a warehouse); `e` exports CSV |
| `L` | Lineage: upstream/downstream tables for the selected table/view |
| `P` | Choose which SQL warehouse runs previews |
| `s` | Action on selected item (start/stop, run job) — asks to confirm |
| `g` | Show access: effective grants / permissions for the selected item |
| `$` | DBU usage for the last 14 days (queries system tables on a warehouse) |
| `o` | Open selected item in the workspace web UI |
| `z` | Zoom focused panel to full screen |
| `w` | Switch workspace (pick a profile from ~/.databrickscfg) |
| `Esc` | Close details / exit zoom |
| `t` | Cycle color themes (dark, light, Catppuccin, Gruvbox, Dracula, Nord, Tokyo Night) |
| `r` | Force refresh |
| `q` / `Ctrl+C` | Quit |

Navigation works while zoomed — `Tab`/`h`/`l` jumps straight to the next
panel full-screen. In the details view, `j`/`k` scroll, `J` toggles the raw
JSON, `o` opens the browser, and `Esc` goes back.

## Requirements

- [Databricks CLI v0.200+]https://docs.databricks.com/dev-tools/cli/databricks-cli.html installed and authenticated

## Release binaries

Push a `v*` tag to trigger a GitHub Actions build that publishes `.tar.gz`
binaries (with sha256 checksums and auto-generated release notes) for
Linux x86_64, macOS x86_64, and macOS ARM.