Skip to content
get-drePublic

About

Reports as code: SQL and YAML in git, built into Excel, CSV or fixed-width files and delivered to email, SFTP, S3, Databricks or Slack, plus headline messages to Slack, Teams and Google Chat. The dbt-style workflow, for reporting.

Topics

Resources

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

DRE logo

Reports as code. The dbt-style workflow, for reporting.

Latest release PyPI version crates.io version CI PyPI downloads License: GPL-3.0 Documentation

DRE

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.

Install

curl -fsSL https://getdre.com/install.sh | sh   # macOS and Linux
brew install get-dre/tap/dre                                                          # Homebrew
pip install dre-cli                                                                   # pip, uv, pipx

More 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 agents

Then ask: "help me with dre".

Quick start

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)

Documentation

Contributing

See CONTRIBUTING.md. Pull requests need a signed CLA and a maintainer's approval.

License

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.

About

Reports as code: SQL and YAML in git, built into Excel, CSV or fixed-width files and delivered to email, SFTP, S3, Databricks or Slack, plus headline messages to Slack, Teams and Google Chat. The dbt-style workflow, for reporting.

Topics

Resources

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages