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.2.tar.gz (44.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.2-py3-none-any.whl (46.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dbt_docket-0.1.2.tar.gz
  • Upload date:
  • Size: 44.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.2.tar.gz
Algorithm Hash digest
SHA256 a16adb36e0abacf2c7ae81a63ba3411f1ab2bf50355a0742b89a5458bf68f78e
MD5 944ef4eb0d72041d69a9b1fe11abc50e
BLAKE2b-256 843e7cfc5e4a6dadf78e99df05b36d4d429b8f5cfcac41fe35a9e268be84cef4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: dbt_docket-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 46.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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d1ab838481a82683ca68108a5b0ea5091c249b132c4b785a23cd8a1d55f9a1c2
MD5 3bfbc12df73caea4ad9f708fa614ea67
BLAKE2b-256 8244ec3aeae68d3e9cab6d445290ea2c365931cb7b651096ceb0d9b552db7dd3

See more details on using hashes here.

Provenance

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