Reports as code. The dbt-style workflow, for reporting.
DRE, the Declarative Reporting Engine, is open-source reports as code. You keep each report
as .sql and YAML files in git; DRE runs the SQL against your databases (each tab of a workbook can
come from a different one, and tables can be declared as dbt-style sources), writes the result as
csv, delimited, fixed-width, parquet or xlsx (including multi-sheet workbooks, number formats,
formulas and totals rows, and branded Excel templates), and delivers the file wherever it needs
to go: email, SFTP/FTP, S3, GCS, Azure Blob, Databricks Volumes or Slack. A report can also send a
headline message built from its results, to Slack or email (Microsoft Teams and
Google Chat are in preview). It runs on whatever scheduler you already have: cron, Airflow, Dagster, Databricks Jobs.
If you know dbt, you already know DRE: a project of SQL and YAML, Jinja and macros, ref(),
source(), folder config, tags, selectors, profiles and targets. dbt builds your tables; DRE
delivers the last mile, the reports people receive. DRE is inspired by dbt and is an independent
project, not affiliated with or endorsed by dbt Labs, Inc. (dbt is their trademark).
DRE and dbt, side by side.
Website: getdre.com.
Status: under active development, before 1.0. A patch release never breaks a project; a minor release may, with release notes and a migration guide.
curl -fsSL https://getdre.com/install.sh | sh # macOS and Linux
brew install get-dre/tap/dre # Homebrew
pip install dre-cli # pip, uv, pipxMore ways, and Windows, in Install. Or let a coding agent do it: DRE's agent skills guide you from installing DRE to a delivered report.
claude plugin marketplace add get-dre/dre && claude plugin install dre@dre # Claude Code
npx skills add get-dre/dre#skills-latest # other agentsThen ask: "help me with dre".
dre init # pick a source, enter its connection, start a project
cd my_reports
dre validate # check the project and compile its SQL
dre run # run every report; output lands in target/run/ (one folder per run)- Getting started and Install
- Concepts, Build and run reports, Connections and targets, Sources, Schedules, the orchestration recipe
- Templates and Lookups
- Plugins, Managing plugins, the registry and
dre.lock, the plugin protocol - The target path, the manifest and
run_results.json, schedule occurrences (dre schedule ls) - Updating DRE, Upgrading to 0.2, Environment variables, Building from source
- Practices: how to set up, write and run reports well
- Agent skills: DRE in your coding agent
See CONTRIBUTING.md. Pull requests need a signed CLA and a maintainer's approval.
This project is licensed under the GNU General Public License v3.0.
A commercial license — for embedding DRE into a product or service you distribute to third parties, without GPL's copyleft obligations — is also available. Contact the maintainer for details.