Skip to content
You're reading the docs for DRE 0.4 (v0.4.4). This page for 0.5 · New in 0.5

YAML reference

A DRE project is YAML and SQL files. Each kind of YAML file has a reference page that lists every key with its type, default and meaning. The pages are generated from the same JSON Schemas that give editors autocomplete, so they can’t miss a key.

File What it holds Reference
dre_project.yml The project: default connection and output, variables, week settings, folder config dre_project.yml
reports/**/*.yml A report: queries, output, destinations, Sets, templates Report YAML
sets.yml Named variants a report can run as sets.yml
schedules.yml Named schedules your orchestrator fires schedules.yml
timings.yml Named timings that schedules share timings.yml
profiles.yml Connections and destinations, with their targets (kept outside the project) profiles.yml
sources/*.yml (any YAML with sources:) dbt-style source declarations: tables, columns, the connection they live on Sources
dependencies.yml Plugin packages and macro packages dependencies.yml
lookups/<name>.yml The config of a lookup file Lookup config

The options of each format and destination (for example delimiter, or an email’s to) are documented with their plugins in Plugins; that reference comes from the plugins themselves.

For editor autocomplete and validation, see Editor setup.

For copyable projects, see examples. Project configuration explains how defaults, folders and Sets combine; the glossary defines the terms.

Every YAML file DRE reads accepts top-level keys starting with x-, as docker-compose does, and ignores them. They’re where YAML anchors live: name a block once with &name, then reuse it with an alias (*name) or merge it with <<: *name, overriding keys after the merge. Anchors work within one file.

reports/finance/monthly/monthly.yml
x-finance-mail: &finance_mail
profile: finance_email
subject: "Monthly report {{ run.date.iso }}"
queries: [monthly]
output:
format: xlsx
destination:
- <<: *finance_mail
to: finance@example.com
- <<: *finance_mail
to: audit@example.com
subject: "For audit: monthly report {{ run.date.iso }}"

To share settings across files, use default_output, format_options and the folders’ +output, +vars and +profile in dre_project.yml.