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.0.tar.gz (41.6 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.0-py3-none-any.whl (43.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dbt_docket-0.1.0.tar.gz
  • Upload date:
  • Size: 41.6 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.0.tar.gz
Algorithm Hash digest
SHA256 9b11c345dcec352752d57ba40b682ad3f1203cdfb63481393dc4f60841e93ecb
MD5 faca2117529c3ce5c8f0444cc4fcdfbb
BLAKE2b-256 820dcc0d06b3226d6ef27da9b7f312cd42e7de0c35f7b5ac2b888cb4bfbf119f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_docket-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: dbt_docket-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 43.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1835139bbba71a7cb7d7906bc535186dc8c4061b5163cf1bbfd0df5f8b3dc088
MD5 88287ee386f05c7517065d5f8bf9e31b
BLAKE2b-256 2e7227b301752e11010d8911e435ed0dbd412953a698ffa570540f3fce88aa2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_docket-0.1.0-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