Exposure properties

Changelog

Related documentation

Overview

Exposures are defined in .yml files in your models directory (as defined by the source-paths config), nested under an exposures: key. You may define exposures in YAML files that also define define sources or models.

You can name these files whatever_you_want.yml, and nest them arbitrarily deeply in subfolders within the models/ directory.

models/<filename>.yml
version: 2
exposures:
- name: <string>
description: <markdown_string>
type: {dashboard, notebook, analysis, ml, application}
url: <string>
maturity: {high, medium, low}
tags: [<string>]
meta: {<dictionary>}
owner:
name: <string>
email: <string>
depends_on:
- ref('model')
- ref('seed')
- source('name', 'table')
- name: ... # declare properties of additional exposures

Example

models/jaffle/exposures.yml
exposures:
- name: weekly_jaffle_metrics
type: dashboard # required
maturity: high # optional
url: https://bi.tool/dashboards/1 # optional
description: > # optional
Did someone say "exponential growth"?
depends_on: # expected
- ref('fct_orders')
- ref('dim_customers')
- source('gsheets', 'goals')
owner:
name: Claire from Data # optional
email: data@jaffleshop.com # required
- name: jaffle_recommender
maturity: medium
type: ml
url: https://jupyter.org/mycoolalg
description: >
Deep learning to power personalized "Discover Sandwiches Weekly"
depends_on:
- ref('fct_orders')
owner:
name: Data Science Drew
email: data@jaffleshop.com
- name: jaffle_wrapped
type: application
description: Tell users about their favorite jaffles of the year
depends_on: [ ref('fct_orders') ]
owner: { email: summer-intern@jaffleshop.com }