Skip to main content

bricktop

PyPI Python License

A Textual TUI system monitor for Databricks. Think btop or k9s, but for your Databricks workspace.

Features

  • Dashboard with longest-running clusters, active runs, and a merged activity feed.
  • Clusters tab: every all-purpose cluster with state, uptime, workers, and idle time.
  • Jobs tab: your submitted runs with state, duration, and cluster.
  • Activity tab: live merged feed of cluster events and run state transitions.
  • Interactive refresh control. Press + and - to tune the polling interval.
  • Reads ~/.databrickscfg transparently if you already use the Databricks CLI.

Install

pipx install bricktop          # recommended
uv tool install bricktop       # alternative

Or run without installing:

uvx bricktop

Requires Python 3.11 or newer, a Databricks workspace, and a Personal Access Token. Linux and macOS only.

Quick start

bricktop

On first launch a modal asks for your workspace URL (e.g. https://dbc-xxxxxxxx.cloud.databricks.com) and a Personal Access Token. Both are saved to ~/.config/bricktop/config.toml with permission 600. If you already have ~/.databrickscfg from the Databricks CLI, the modal is skipped and the existing credentials are used.

To generate a Personal Access Token, open the Databricks UI and go to User Settings > Developer > Access tokens > Generate new token. Copy the token immediately; the UI will not show it again.

Keys

Key Action
? Help overlay
f Freeze / unfreeze polling
+ / - Adjust refresh interval (2 to 60s)
r Force refresh now
t Cycle theme
1 2 3 4 Jump to Dashboard, Clusters, Jobs, Activity
q Quit

Files

Path Purpose
~/.config/bricktop/config.toml Workspace URL, PAT, and UI preferences. chmod 600.
~/.local/state/bricktop/bricktop.log Rotating log file (2 MB, 3 backups).
~/.databrickscfg Read transparently if present; never written.

All three paths honour their XDG_*_HOME env vars if set.

Troubleshooting

When something looks wrong, run:

bricktop doctor

It prints the resolved paths, the credential source, and runs a current-user me call to verify connectivity. Detailed traces of every refresh tick land in ~/.local/state/bricktop/bricktop.log.

If the Python SDK cannot reach your workspace (e.g. corporate network policy routes by binary identity), bricktop falls back to the databricks CLI automatically. A one-time toast notifies you and the active transport appears in the header subtitle. To force a specific transport, pass --transport sdk or --transport cli.

The fallback requires the official Databricks CLI on PATH:

brew tap databricks/tap && brew install databricks            # macOS
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh   # Linux

See the Databricks CLI install guide for other methods.

CLI reference

bricktop                                # launches TUI (auto-fallback by default)
bricktop configure                      # opens the config modal in a one-shot run
bricktop doctor                         # prints resolved paths and connectivity
bricktop --debug                        # enables debug logging
bricktop --reset-config                 # deletes config.toml and relaunches
bricktop --config /path/to/cfg.toml     # alternate bricktop config file
bricktop --databricks-cfg /path/to/cfg  # alternate ~/.databrickscfg path
bricktop --profile staging              # pick a non-DEFAULT profile
bricktop --transport sdk                # force the Python SDK transport
bricktop --transport cli                # force the databricks CLI transport

Development

git clone https://github.com/rattle99/bricktop.git
cd bricktop
uv sync --dev
uv run pytest
uv run bricktop

License

GPL-3.0-or-later. See LICENSE.

Metadata

Release files for bricktop 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bricktop 0.1.0
File Size Uploaded
bricktop-0.1.0.tar.gz 36.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bricktop 0.1.0
File Interpreter ABI Platform
bricktop-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 80.6 kB

Release files / bricktop-0.1.0.tar.gz

Download URL bricktop-0.1.0.tar.gz
Size 36.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f5350760c6bc1240891acf3b11aed474c99cb0c6ceeea3b6d26eaa9a5f6a6403
BLAKE2b-256 checksum
How to use checksums
cccc4cdf5d39f5cdfed70a6bda94b4be96759df809f85b477e22da1c6cf930bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / bricktop-0.1.0-py3-none-any.whl

Download URL bricktop-0.1.0-py3-none-any.whl
Size 44.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6914dce0f5fdf4c8dfca8a24836e5c736f0c91fa013ab39101918f97138c8cf2
BLAKE2b-256 checksum
How to use checksums
e18df188a89f6bd3b96f2f475a49f7d83cd60bba5745f1e88deff480627a2aeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page