Skip to main content

dbtr

Run and schedule dbt jobs on a self hosted dbt remote server.

Dbtr is an for the dbt CLI that adds the remote subcommand. It lets you deploy a cloud server where you can schedule and execute dbt jobs.

This is a low-cost and practical alternative to dbt Cloud.

Features

  • Deploy a dbt server in one command locally, on GCP, or Azure. (AWS coming soon)
  • Run dbt commands on a remote server rather than your machine
  • Schedule dbt jobs
  • Explore run logs, scheduled jobs, dbt docs, and Elementary reports in a web UI

Installation

Install dbtr with the right extras depending on where your server is (or will be):

pip install 'dbtr[local]'

Available extras:

  • local
  • google
  • azure

Usage

The dbtr CLI is a drop-in replacement for dbt so you can just use it exactly as you would have otherwise (dbt docs):

dbtr debug

[...]

All checks passed!

Use the remote subcommand to deploy a dbt server locally:

dbtr remote deploy --cloud-provider local

[...]

Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)

You can now submit jobs to the server rather than executing them locally:

dbtr remote debug --cloud-provider local --server-url http://localhost:8080

To see the full list of available commands that you can run remotely:

dbtr remote --help

Moving to the cloud

For GCP, this will deploy the server on a Cloud Run instance:

dbtr remote deploy google

Other available options for deployment are local, azure, and soon, aws.

You can now run jobs on this instance:

dbtr remote debug --cloud-provider google --server-url https://my-dbt-server-abcdefghij-ew.a.run.app

Scheduling jobs

If you want to schedule a dbt build every morning at 8 UTC:

dbtr remote build --cloud-provider google --server-url https://my-dbt-server-abcdefghij-ew.a.run.app --schedule-cron '0 8 * * *'

You can also schedule from a configuration file (schedules.yaml):

job-1:
   command: dbtr remote build --server-url https://my-dbt-server-abcdefghij-ew.a.run.app --cloud-provider google
   schedule_cron: "0 8 * * 1"
   description: "Build all the models every Monday at 8 UTC"

job-2:
   command: dbtr remote build --select +customers+ --server-url https://my-dbt-server-abcdefghij-ew.a.run.app --cloud-provider google
   schedule_cron: "0 6 * * *"
   description: "Build all the customer models at 6 UTC"

Then deploy the schedules:

dbtr remote schedule set --schedule-file schedules.yaml --server-url https://my-dbt-server-abcdefghij-ew.a.run.app --cloud-provider google

Frontend

Dbtr comes with a UI where you can take a look at logs, schedules, docs, etc...

dbtr remote frontend --server-url https://my-dbt-server-abcdefghij-ew.a.run.app  --cloud-provider google

Release files for dbtr 0.3.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dbtr 0.3.6
File Size Uploaded
dbtr-0.3.6.tar.gz 38.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dbtr 0.3.6
File Interpreter ABI Platform
dbtr-0.3.6-py3-none-any.whl Python 3 none any Details

Total release size: 90.2 kB

Release files / dbtr-0.3.6.tar.gz

Download URL dbtr-0.3.6.tar.gz
Size 38.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d98f18e4792848bdc29e4c2c90d62bf351f0b3866e47776853bbe7f45782260f
BLAKE2b-256 checksum
How to use checksums
458a37e2afa10c436ac43d29e56d283c5c0f2dc47677225895e963ad5b4cfca4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.0 Darwin/23.2.0

Release files / dbtr-0.3.6-py3-none-any.whl

Download URL dbtr-0.3.6-py3-none-any.whl
Size 51.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e80878e510872a05660c5e4299744a3fa1434ca6729ebf3bf5bc9a6548869bc
BLAKE2b-256 checksum
How to use checksums
44903805b351de492ba453838cd4a55f0a7037bb4195de01201f0e9da38b8088
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.0 Darwin/23.2.0

Release history Release notifications | RSS feed

This release

0.3.6 This release

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page