Skip to main content

A simple wrapper program for modifying dbt command output

Project description

dbtmon

A simple wrapper program for modifying dbt command output

dbtmon

dbtmon is a CLI tool that wraps the output of dbt commands to improve their display for easier monitoring and readability. It's designed to integrate seamlessly into your workflow: just replace dbt with dbtmon.

Features

  • Acts as a drop-in replacement for dbt <command> with no changes to your arguments
  • Keeps running jobs at the bottom of the terminal output
  • Displays elapsed runtime and completed runtime in HH:MM:SS form

dbt run:

Screenshot of the output of dbt run. Markup points out the inability to clearly see which models are running and for how long they have been running.

dbtmon run:

Screenshot of the output of dbtmon run. Markup points out the running jobs grouped and displayed in the terminal and the elapsed runtime clocks.

Installation

python -m pip install dbtmon

View on PyPI: https://pypi.org/project/dbtmon/

Usage

Run dbt commands as usual, replacing dbt with dbtmon:

dbtmon run
dbtmon test -s my_model
dbtmon build --full-refresh

For help or version information:

dbtmon --help
dbtmon --version

Configuration

Create a configuration file at ~/.dbt/dbtmon.yaml to customize behavior or pass config items as command line arguments:

# How often to refresh the display (in seconds)
polling_rate: 0.2

# Minimum wait time between updates (in seconds)
minimum_wait: 0.025

If no config file is present, default values are used.

Architecture

  • dbtmon: Main CLI entry point. Runs the dbt command and pipes output into a formatting process.
  • __dbtmonpipe__: Internal entry point that reads from stdin and formats the output.
  • Processing and display logic is implemented in dbtmon/dbtmon.py.

License

Apache License 2.0. See the LICENSE file for details.

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

dbtmon-1.0.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

dbtmon-1.0.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file dbtmon-1.0.0.tar.gz.

File metadata

  • Download URL: dbtmon-1.0.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for dbtmon-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cc68a654196cdcc3e27a35774e7844ca2ee0ac3c0b4bef67014397e6bf1e5978
MD5 30abb15908a57b3394ce64c8ca10d835
BLAKE2b-256 4753fd2fee52c0553d9ad88b88a37663e86aa1fac295cdc5573b75382ad023df

See more details on using hashes here.

File details

Details for the file dbtmon-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: dbtmon-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for dbtmon-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db4fb82a2b79ad1ae3c466e76257e4db0bfbe95c9515e5be4c3c36ad75cb54cd
MD5 7cc1e327e4a5494a04145b3a7279d76d
BLAKE2b-256 4451ed02271a8cfb18f19e05f0235ff699ebadedba10fc86c44a7ccdae2cad9a

See more details on using hashes here.

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