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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bricktop-0.1.0.tar.gz (36.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bricktop-0.1.0-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

File details

Details for the file bricktop-0.1.0.tar.gz.

File metadata

  • Download URL: bricktop-0.1.0.tar.gz
  • Upload date:
  • Size: 36.5 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for bricktop-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f5350760c6bc1240891acf3b11aed474c99cb0c6ceeea3b6d26eaa9a5f6a6403
MD5 19043742f2f857ee78edb8216b1fdc17
BLAKE2b-256 cccc4cdf5d39f5cdfed70a6bda94b4be96759df809f85b477e22da1c6cf930bb

See more details on using hashes here.

File details

Details for the file bricktop-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bricktop-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 44.0 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for bricktop-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6914dce0f5fdf4c8dfca8a24836e5c736f0c91fa013ab39101918f97138c8cf2
MD5 e0bc20796b1efd88e1ab47c56ad12b14
BLAKE2b-256 e18df188a89f6bd3b96f2f475a49f7d83cd60bba5745f1e88deff480627a2aeb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page