SQL in. The right file out. Delivered.
The delivery layer of your data stack.
curl -fsSL https://getdre.com/install.sh | sh
# Claude Code claude plugin marketplace add get-dre/dre claude plugin install dre@dre # Other agents npx skills add get-dre/dre#skills-latest
Or pip install dre-cli brew install get-dre/tap/dre
Works alongside dbt · Free and open source
The workbook finance asks for every month
Three things: a SQL query, a YAML file that describes the workbook, and one command. Tabs, number formats and the email are declared, not scripted. Formulas and totals have their own example.
- One tab per query, each with its own columns and formats
- Real Excel formulas on every row, and totals under the columns
- Delivered by email, with a templated subject and attachment name
queries:
- {query: finance_regions, tab_name: By region}
- {query: finance_channels, tab_name: By channel}
- {query: finance_products, tab_name: Top products}
output:
format: xlsx
columns:
net: {format: "#,##0.00"}
destination:
- {profile: local, path: "out/finance_pack.xlsx"}
- profile: mail_local
to: finance@dre-demo.test
cc: cfo@dre-demo.test
subject: "Sales {{ period(var('period')).start.date }} to {{ period(var('period')).end.date }}"
attachment_name: "Sales pack {{ run.date.yyyymmdd }}.xlsx"dre run finance_packRecognise your own job
Each one shows the YAML and SQL that produce the result.
Monthly finance pack
A multi-sheet Excel workbook with money formats, built from your SQL and emailed on the 1st.
A file for a bank or regulator
Fixed-width or delimited files to the exact layout the other side asks for, dropped on SFTP.
Extracts to S3, GCS or Azure Blob
Parquet or csv extracts, written where downstream systems pick them up.
One report per store or region
Sets run the same report once per client, each with its own file and recipient.
DRE as a Databricks job
Install DRE from a wheel in a serverless job and write the report to a Volume.
A report built by a coding agent
From “help me with dre” to a delivered file, with an agent as the guide.
See every upcoming run
dre schedule ls lists when every schedule fires, with DST worked out, and the exact command for each run.
The details people ask about
Short recipes for delivery, scheduling and Excel templates.
Save to a Databricks Volume or workspace
Write the file to a Unity Catalog Volume or a workspace folder, from your laptop or inside a job.
Run by schedule name
Name a timing once and share it; your orchestrator runs dre run --schedule, and a rerun renders the same SQL.
Deliver to many destinations in one run
One workbook: local copy, SFTP, S3, GCS, Azure Blob and an email, in order, in a single run.
Fill a branded Excel template
Design the workbook in Excel; DRE fills the cells and tables and keeps your styling.
Totals, row formulas and column formulas
Real Excel formulas under and beside your data: totals for columns, a formula on every row, a formula over whole columns.
Post the report to Slack
The workbook lands in a Slack channel, or one person’s DM, with your message and a preview.
Your warehouse, your format, your destination
Support for each source and destination comes as a plugin that DRE installs on demand.
Sources
Formats
Destinations
Templates
Jinja in your SQL and YAML: dates and periods, variables, lookups and macros.
Sets and schedules
Run one report per client, region or store. Name schedules; your orchestrator fires them.
Safe to automate
Secrets stay in environment variables and are masked. Every run writes machine-readable results.
From project to delivered file
A project
Reports are YAML and .sql files in a dbt-shaped project. Plain text, in git.
dre run
DRE renders the SQL templates, runs them against your warehouse, and checks the result.
A file
Excel workbooks with formulas and totals, fixed-width files, parquet, csv. Exactly as specified.
A destination
The file goes where it belongs: an inbox, an SFTP drop, a bucket, a Volume, a Slack channel.
Ask your agent: “help me with dre”
DRE’s agent skills turn Claude Code, Cursor, GitHub Copilot, Gemini CLI or any agent that reads Agent Skills into a guide, from installing DRE to a delivered report.
- Asks one question at a time, with a recommendation
- Confirms before anything is delivered
- Never asks for your passwords or tokens
# Claude Code
claude plugin marketplace add get-dre/dre
claude plugin install dre@dre
# Other agents
npx skills add get-dre/dre#skills-latestdbt-shaped projects, not a dbt replacement
If you know dbt, a DRE project will look familiar: ref(), folders with shared config, tags and selectors. Use dbt to build your tables; use DRE to turn them into the files people actually receive.
Free to use. Open source under GPL-3.0.
Running DRE inside your company, on your own servers, or calling it as a separate program from your own code is free and doesn’t affect your code. If you want to distribute DRE inside a product you sell without the GPL’s obligations, a commercial licence is available.
Questions?
Ask in public on GitHub Discussions, or write to hello@getdre.com. Security reports go to security@getdre.com.