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.1/project.schema.json| Key | Type | Default | Description |
|---|---|---|---|
name (required) |
string | The project’s name. Required. | |
default_profile |
string | The source profile reports use when they don’t name one. | |
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. |
|
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/. |
|
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. |
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 |
|---|---|---|---|
+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 source profile for reports in the folder. | |
+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. |
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. |