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:
localgoogleazure
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.