Skip to content

jongracecox/lazydbx

Repository files navigation

lazydbx

CI Release coverage Go Reference Latest release GitHub last commit License GitHub stars

buymeacoffee

A lazier way to Databricks. A fast, colorful, keyboard-driven terminal UI — inspired by k9s — for browsing Unity Catalog, running SQL, triaging jobs and pipelines, and managing your workspaces without leaving the terminal.

Status: early development. The interface and features described below are landing phase by phase — see docs/PLAN.md.

Why

The Databricks web UI is powerful but slow to click through, and the CLI has a hundred subcommands to remember. lazydbx gives you the k9s experience instead:

  • : command mode:catalogs, :jobs, :tables main.silver — teleport anywhere, with autocomplete and aliases
  • Enter/Esc drill-down — catalog → schema → table → data preview; job → runs → task logs — one gesture for everything
  • / instant filter on any view, no API round-trip
  • Self-documenting — the header always shows the keys valid right now; ? for full help
  • Fast — local caching, background polling, stale-while-revalidate rendering
  • Safe — read-only by default early on, confirm dialogs for anything destructive, --readonly flag, per-profile accent colors (make prod red!)

Install

brew install jongracecox/tap/lazydbx   # once first release is tagged
# or
go install github.com/jongracecox/lazydbx/cmd/lazydbx@latest

Shell completion (optional)

lazydbx ships completion for bash, zsh, and fish. It completes resource names, flag values (--tab, --profile, --log-level), and — once a profile resolves — scope args and item names straight from your workspace (served from the local cache, so it never blocks on the network).

Print the script for your shell with lazydbx completion <shell> and load it however your shell expects:

# bash — add to ~/.bashrc (needs bash-completion installed)
source <(lazydbx completion bash)

# zsh — write to a dir on your $fpath, e.g. with oh-my-zsh:
lazydbx completion zsh > "${fpath[1]}/_lazydbx"

# fish
lazydbx completion fish > ~/.config/fish/completions/lazydbx.fish

Run lazydbx completion <shell> --help for the per-shell details.

Usage

lazydbx uses your existing Databricks config profiles (~/.databrickscfg) — including OAuth sessions created with databricks auth login.

lazydbx                    # opens the profile picker
lazydbx --profile mydev    # jump straight into a profile
lazydbx --readonly         # disable all mutating actions

Optional positional args launch straight into a resource view, using the same syntax as the in-app : command bar. esc from a launched view returns to the profile picker.

lazydbx -p mydev jobs                 # open in the jobs list
lazydbx -p mydev schemas prod         # schemas in the 'prod' catalog
lazydbx -p mydev tables main.silver   # drill straight to a schema's tables
lazydbx -p mydev runs 123             # runs for job 123
lazydbx -p mydev jobs /etl            # jobs list pre-filtered to 'etl'
lazydbx -p mydev apps                 # open in the apps list
lazydbx -p mydev apps my-app          # land directly on 'my-app'

Development

make tools   # install golangci-lint + lefthook, register git hooks
make test
make run

See CLAUDE.md for architecture and contribution conventions.

License

Apache-2.0

About

A terminal-based databricks manager inspired by k9s.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors