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

Metadata

Release files for dbtr-lt 0.3.5

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-lt 0.3.5
File Size Uploaded Provenance Actions
dbtr_lt-0.3.5.tar.gz 37.0 kB Without provenance Details for dbtr_lt-0.3.5.tar.gz

Built distribution (wheel)

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

Total release size: 88.2 kB

Release files / dbtr_lt-0.3.5.tar.gz

Download URL dbtr_lt-0.3.5.tar.gz
Size 37.0 kB
Tags Source
SHA-256 checksum
How to use checksums
da99ee0732d13ea241c19525cabe4872f1e474d29ab4ed3614a68dd28ca91767
BLAKE2b-256 checksum
How to use checksums
118575e57c23d70d46717d9ae91cb276135417f68b8268f14f97798840eee21a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.5 Darwin/24.5.0

Release files / dbtr_lt-0.3.5-py3-none-any.whl

Download URL dbtr_lt-0.3.5-py3-none-any.whl
Size 51.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0164300bbf0833944913f0a0c89ed37bcb5cd5159e748c5d18a68dafa0bc3ca5
BLAKE2b-256 checksum
How to use checksums
5f719bcc08418ba68742ab349ff78c7017191135532ebbd27789f8765b852b8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.5 Darwin/24.5.0

Security for dbtr-lt 0.3.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.5 This release

2 release files No provenance

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