Skip to main content

A GUI viewer for dbt runs

Project description

dbt-docket

A real-time GUI for local dbt runs. Launch a web server that visualizes your DAG with color-coded model status, streams live logs, and lets you trigger new runs directly from the browser.

Installation

pip install dbt-docket

Or install from source:

git clone https://github.com/your-org/dbt-docket.git
cd dbt-docket
pip install -e ".[dev]"

Quick Start

From your dbt project directory:

# Run dbt with live visualization
dkt run -s stg_stripe_invoices+2

# Or just view the DAG without running
dkt view

# Custom port
dkt --port 9000 run -s model+

This starts a local web server and opens your browser. The GUI shows:

  • Live DAG — Color-coded nodes (green = success, yellow = running, red = failed, gray = not started)
  • Run stats — Progress bar, passed/failed/remaining counts
  • Real-time logs — Streamed via WebSocket with level-based coloring
  • Interactive graph — Zoom, pan, hover for tooltips, tap to center

Configuration

Create a docket.yml in your dbt project root (optional):

dbt_project_dir: .
profiles_dir: ~/.dbt

port: 8765
host: 127.0.0.1
open_browser: true

All settings have sensible defaults. You can also override via CLI flags:

dkt --port 9000 --host 0.0.0.0 run -s my_model

CLI Reference

dkt [options] <dbt-command> [dbt-options...]
dkt [options] view

Options:
  -c, --config PATH    Path to config file
  -p, --port PORT      Server port (default: 8765)
  -h, --host HOST      Server host (default: 127.0.0.1)
  --no-browser         Don't automatically open browser
  --help               Show help

Examples:
  dkt run -s stg_stripe_invoices+2
  dkt build --target prod
  dkt test -s my_model
  dkt view

How It Works

  1. Parses your dbt manifest — Reads target/manifest.json to build the DAG (auto-compiles if missing)
  2. Runs dbt with JSON logging — Spawns dbt --log-format json <your-args> as a subprocess
  3. Parses output in real-time — Tracks model start/success/error events
  4. Broadcasts via WebSocket — Pushes DAG updates, run state, and logs to the browser
  5. Renders with Cytoscape.js — DAG layout using dagre, styled by execution status

Requirements

  • Python 3.9+
  • dbt installed and configured
  • A dbt project with dbt_project.yml and compiled manifest

Development

pip install -e ".[dev]"
ruff check src
pytest

License

MIT

Project details


Download files

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

Source Distribution

dbt_docket-0.1.1.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

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

dbt_docket-0.1.1-py3-none-any.whl (45.8 kB view details)

Uploaded Python 3

File details

Details for the file dbt_docket-0.1.1.tar.gz.

File metadata

  • Download URL: dbt_docket-0.1.1.tar.gz
  • Upload date:
  • Size: 44.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dbt_docket-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f8434b20d006c512d3cee1787b5e542e74e9f6d8e466d04893fc14a69e39c64d
MD5 56276cadf5b8f4eb425586adce440a77
BLAKE2b-256 30a0c8bc7215426f8c8396730c1bd1fbab2d654fc6f20bca0fa1af0549632dd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_docket-0.1.1.tar.gz:

Publisher: publish.yml on GJMcClintock/dbt-docket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbt_docket-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dbt_docket-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 45.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dbt_docket-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3c71a405967004814e220f3989bc16c4d23ab88c77a7e7dcc0cf585e0c3b04d1
MD5 ff75bcfa8e2ae0ad966c0891973b90c6
BLAKE2b-256 b0c22babce830cb881003e5f44c5a190cbfea215f075afc180588f16280c7563

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_docket-0.1.1-py3-none-any.whl:

Publisher: publish.yml on GJMcClintock/dbt-docket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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