dre_project.yml reference
The project file, dre_project.yml, at the project root.
Where: dre_project.yml.
For editor autocomplete and validation, add this as the first line of the file (editor setup):
# yaml-language-server: $schema=https://getdre.com/schemas/v0.4/project.schema.jsonFor copyable examples and common errors, see Project configuration. The glossary defines DRE’s terms.
| Key | Type | Default | Description |
|---|---|---|---|
name (required) |
string | The project’s name. Required. | |
meta |
map | Metadata for external tools, preserved as the first report metadata layer. | |
default_profile |
string | The connection (in profiles.yml) reports use when nothing else names one. May use Jinja with var(), env_var(), run.* and target.name. |
|
default_output |
map, as in the report reference | The output every report starts from (the built-in default is format: csv). A report’s own output is merged on top. |
|
format_options |
map | Default options per output format, under every output of that format. A report’s own keys win. | |
default_set |
string | The Set used when a report has Sets and none is chosen. | |
vars |
map | The lowest level of var(): folders, reports, Sets, schedules and --var override these. |
|
run_query_max_rows |
integer | 10000 |
run_query() refuses results larger than this. |
lookup_inline_max_rows |
integer | 200 |
Lookups over this many rows are loaded into a temp table instead of inlined into the SQL. |
dispatch |
list of map (see below) | Which macro packages dispatch() searches, and in what order. |
|
mask_secrets |
boolean | true |
Whether DRE_SECRET_* values are masked as ***** in the console, logs, JSON events, run_results.json and target/compiled/. |
timezone |
string | The timezone run.date and run.now use, an IANA name such as Australia/Sydney. Default: UTC. |
|
locale |
string | The locale the number filters (number, percent, currency, compact, signed) format for, such as de-DE or fr: decimal and group separators, and where the currency symbol and percent sign go. Default: en. |
|
week_start |
monday or sunday |
monday |
The first day of the week for run.date week arithmetic. |
week_numbering |
iso or us |
iso |
How weeks are numbered: ISO 8601 or US style. |
reports |
map (see below) | Folder config: settings for the report folders, by folder name, nested to match the folders under reports/. |
|
flags |
map (see below) | How DRE itself behaves, as in dbt’s flags:. Each flag has a DRE_ environment variable that wins over it. |
|
target_path |
string | Where DRE writes its generated files (compiled SQL, run outputs, the manifest). Default: target/ in the project. --target-path and DRE_TARGET_PATH override it. |
|
plugins |
list of plugin packages: a name, name: "<version>", or a map (see below) |
The plugin packages this project uses. DRE installs them on demand into dre_deps/ and pins them in dre.lock. May be written in any project YAML file; dependencies.yml is the usual place. |
|
sources |
map, as in the sources reference | dbt-style source declarations (see the sources schema). May be written in any project YAML file. |
dispatch[]
Section titled “dispatch[]”One macro namespace.
| Key | Type | Default | Description |
|---|---|---|---|
macro_namespace (required) |
string | The macro package the dispatching macro belongs to, e.g. dre_utils. |
|
search_order (required) |
list of string | Packages searched for the variant, first match wins: this project’s name and installed packages. |
reports
Section titled “reports”Folder config: settings for the report folders, by folder name, nested to match the folders under reports/.
| Key | Type | Default | Description |
|---|---|---|---|
+meta |
map | Metadata for external tools, preserved as a layer with its configuration origin. | |
+tags |
list of string | Tags added to every report in the folder. | |
+output |
map, as in the report reference | Output settings every report in the folder starts from; a report’s own keys win. | |
+profile |
string | The connection for reports in the folder. May use Jinja with var(), env_var(), run.* and target.name. |
|
+vars |
map | Variables, read in SQL and YAML with var('name'). Values can be strings, numbers, booleans, lists or maps. |
|
+timezone |
string | The timezone run.date and run.now use, an IANA name such as Australia/Sydney. Default: UTC. |
|
+locale |
string | The locale: for reports in this folder; a report’s own wins. See locale in dre_project.yml. |
How DRE itself behaves, as in dbt’s flags:. Each flag has a DRE_ environment variable that wins over it.
| Key | Type | Default | Description |
|---|---|---|---|
http_timeout |
integer | 60 |
Seconds a download (the plugin registry, a plugin package, a DRE update) may receive nothing before it’s tried again (3 tries in all). DRE_HTTP_TIMEOUT overrides it. |
keep_runs |
integer | 1 |
How many runs of each report and Set to keep in target/run/ (any status; the current run always stays). Runs beyond it are removed after each run. Recommended on servers and anything scheduled (an audit trail of what was sent), mindful of file sizes. dre run --keep-runs and DRE_KEEP_RUNS override it. |
run_timeout |
string or number | How long a dre run may take before it’s stopped (as for a termination signal; its Bindings are recorded as timed_out and dre exits 124): a duration such as 2h or 90m, or seconds. Off by default. dre run --timeout and DRE_RUN_TIMEOUT override it. |
plugins[]
Section titled “plugins[]”A package with its source.
| Key | Type | Default | Description |
|---|---|---|---|
name (required) |
string | The package name: lowercase letters, digits and _. |
|
version |
string | A version constraint such as 1.2.0 or >=1.0. Not allowed with local. |
|
github |
string | Install from the releases of this GitHub repository, owner/repo. |
|
local |
string | Use the package folder at this path as it is. | |
registry |
string | Install from this registry index (a URL or a path) instead of the default one. |