drt
What it is
drt is a free reverse ETL tool that moves modeled warehouse data into team tools, with sync definitions managed in YAML and versioned in Git. Teams install drt-core with pip and run jobs from a terminal. A dry run with a diff previews rows that would be added, updated, or deleted before data is written. The project lists 13 sources and 34 destinations, including BigQuery, Snowflake, Postgres, Slack, and Salesforce. It can read dbt projects and follow model lineage through `ref()` models. Other listed integrations include Dagster, Prefect, Airflow, and a dbt manifest reader, along with a GitHub Action for scheduled or event-triggered syncs. An optional MCP server lets compatible clients list and run syncs, validate configuration, and inspect status. Data travels directly from the user's warehouse to the destination rather than through a drt-hosted intermediary. drt-core is self-hosted, batch-based, and licensed under Apache 2.0. RBAC, audit logging, a plugin system, and managed cloud hosting are outside the core.
For and against
For
- Free Apache 2.0-licensed core.
- Dry runs preview row changes before writes.
- Supports 13 sources and 34 destinations.
- Can follow dbt model lineage.
- Data travels directly between warehouse and destination.
Against
- Syncs run in batches.
- Reverse sync is not supported.
- RBAC and audit logging are outside drt-core.
- Managed cloud hosting is outside drt-core.
The verdict
drt offers repository-managed, batch reverse ETL with a preview step and integrations for orchestration and CI/CD. Teams should account for its self-hosted workflow and the enterprise capabilities that are outside drt-core.
Who it suits
drt is aimed at teams that use dbt and Git and want reverse ETL pipelines managed in their repository. It suits teams comfortable installing and running syncs from the terminal.
Plans and prices
drt-core
All connectors · sync engine · CLI · MCP server
Read 8 Oct 2026 · github.com
On the record
- AI integration
- An optional MCP server lets compatible clients list syncs, run syncs, validate configuration, and inspect status.github.com · read 8 Oct 2026
- CI/CD
- The project provides a GitHub Action for scheduled or event-triggered syncs and documents structured status outputs.github.com · read 8 Oct 2026
- Connectors
- The project lists 13 sources and 34 destinations, including BigQuery, Snowflake, Postgres, Slack, and Salesforce.drt-hub.github.io · read 8 Oct 2026
- Data handling
- The README says data goes directly from the user's warehouse to the destination and never through a drt-hosted intermediary.github.com · read 8 Oct 2026
- dbt lineage
- drt can read dbt projects and use `ref()` models so activation follows the model lineage.drt-hub.github.io · read 8 Oct 2026
- Enterprise boundary
- The open-core document places RBAC, audit logging, plugin system, and managed cloud hosting outside drt-core.github.com · read 8 Oct 2026
- Intended users
- The site describes drt as suited to teams that ship with dbt and Git and want reverse ETL pipelines managed in their repository.drt-hub.github.io · read 8 Oct 2026
- License
- The project is licensed under Apache 2.0.github.com · read 8 Oct 2026
- Orchestration
- The README lists integrations for Dagster, Prefect, Airflow, and a dbt manifest reader.github.com · read 8 Oct 2026
- Preview
- `drt run --dry-run --diff` previews which rows will be added, updated, or deleted before writing.drt-hub.github.io · read 8 Oct 2026
- Purpose
- drt moves modeled warehouse data into team tools as reverse ETL, with syncs defined in YAML and versioned in Git.drt-hub.github.io · read 8 Oct 2026
- Security
- The security policy describes Dependabot, CodeQL, pip-audit, and CycloneDX SBOM generation for releases.github.com · read 8 Oct 2026
- Support
- The security policy asks vulnerability reports to be emailed and says receipt is acknowledged within 48 hours, with critical fixes or mitigations within 7 days.github.com · read 8 Oct 2026
- Telemetry
- Telemetry is off by default; when enabled, the project says it collects sync metadata and does not transmit sync names, SQL, destination URLs, credentials, or project paths.github.com · read 8 Oct 2026
- Workflow
- Users install `drt-core` with pip and run syncs from the terminal using `drt run`.github.com · read 8 Oct 2026