dbt charts YAML Schema Reference¶
Fields are optional unless they appear under a Required label.
Board¶
AuthoredBoard definition from YAML.
| Field | Type | Description |
|---|---|---|
title |
str | Heading shown at the top of the board. |
notes |
str | Prose summary of what this board covers; read by AI search and board listings. |
tags |
list[str] | Keywords for grouping and searching boards. |
aliases |
list[str] | Additional URLs that redirect to this board's canonical file-path URL. Each entry must be absolute (leading /). Requests to these URLs are redirected (302) to the board's real path, query string preserved. Valid on .yml, .yaml, .md, and folder index.* boards. |
_schema_version |
str | The latest released dbt charts YAML schema version this file was last migrated to, written by dct migrate only -- never hand-author this. Informational: nothing reads it back when your board loads, and it is not a validated guarantee about the file's actual grammar (a hand-edit after migration can make it stale). YAML key: _schema_version. |
text |
str | Markdown text content for text-only sections. |
html_policy |
enum: "none", "safe-subset", "trusted-raw" | HTML rendering policy for the board's body text. Inline nested boards inherit it unless they set their own; tabs always inherit, and imported board files do not. One of: "none" (default): HTML is escaped and rendered as plain markdown; "safe-subset": reserved for a parser-checked allowlist (not yet enforced; currently renders as none); "trusted-raw": raw HTML via foreignObject. TRUSTED-CONTENT ONLY: this is NOT a security sandbox. <script>/event-handlers are stripped as a best-effort guard, not a guarantee. Enable only on first-party boards you fully control. |
source |
str | Default source name for all queries in this board. Inheritable via meta.yml cascade. |
cache |
Cache | Cache policy for every query in this dashboard, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts the whole dashboard out. Inheritable via the meta.yml cascade. |
incremental |
str | const: false | Default watermark column for incremental refresh: queries in this board fetch only new rows since the last run and merge them with the cached result, keyed on this column. Queries inherit this value and may override it with their own incremental: setting. Set to false on a nested board to opt out of a parent's incremental setting. |
variables |
dict[str, Variable | str | VariableRef] | Named inputs that parameterize queries; each renders as a control unless it sets visible: false. |
queries |
dict[str, str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef] | Named result sets the charts draw from (SQL, CSV, HTTP, and more). |
charts |
dict[str, BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart | str | ChartRef] | Named chart definitions. When no explicit layout is present, charts render as an implicit row layout in authored order. |
rows |
list[str | Board | BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart | dict[str, BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart]] | Vertical stack layout: list of chart names or inline chart/board definitions. |
cols |
list[str | Board | BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart | dict[str, BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart]] | Horizontal layout: list of chart names or inline chart/board definitions. |
grid |
GridLayout | CSS-grid style layout with explicit row/column placement. |
tabs |
TabLayout | Tabbed navigation layout where each tab contains its own layout. |
card_gap |
bool | When True, adds gap between cards. Default: cards are edge-to-edge (0 gap). |
chart_focus |
str | Render only this named chart with its dependent variables (useful for embedding or SVG export). |
details |
BoardDetails | Collapsible section metadata. String shorthand: details: 'text' → BoardDetails(summary='text'). Block form: details: {summary: ..., expanded_title: ..., expanded: false}. |
id |
str | Explicit ID for this board. Auto-generated from filename if omitted. |
style |
Style | Appearance overrides for this board (background, border, and more). Most fields this board or an ancestor board explicitly authors cascade to nested child boards. Per-board fields (frame, layout, gap, margin, padding): a nested board that authors any style of its own resolves these against its own theme, never an ancestor's. Root-board-only fields (footer, timestamp): a nested board never draws its own footer or timestamp line, so these never reach it either. background is the one appearance field that never cascades: unset means transparent, not an ancestor's color. |
width |
str | int | Width when nested (e.g., '50%', '400px', or an integer in pixels). On the root board there is no parent to place it into, so it instead sets the board's own width (equivalent to 'style.frame.width'); percentages are rejected there since there's nothing to size relative to. |
height |
str | int | Height when nested (e.g., '300px' or an integer in pixels). |
visible |
bool | str | SingleRowBoolProbe | Controls whether this layout item is rendered. Accepts a bool, variable name, Jinja expression, or {query, column} probe. |
extends |
str | list[str] | enum: "clarity", "neon", "paper", "stark", "vivid" | Board name(s) or relative path(s) this board inherits from, low to high priority. A built-in theme name resolves it directly. |
auto_link |
bool | When True, table charts with no explicit link: automatically link each row to its canonical /data/<source>/<schema>/<table>/detail/ page. Default off. An explicit link: always wins; set link: false on a chart to suppress its automatic link. |
theme |
enum: "clarity", "neon", "paper", "stark", "vivid" | Built-in theme name; shorthand for extends: <name>. |
Cache¶
Cache policy at one scope: cache: 1h / forever / true / false (the only opt-out).
| Field | Type | Description |
|---|---|---|
ttl |
str | const: "forever" | Expire cached results after this wall-clock age (lazy: the next read recomputes). Short-duration string: units s/m/h/d/w, m = minutes, compound allowed ('1h30m'). Omit to inherit from the parent scope; write 'forever' to override an inherited ttl with never-auto-expire (manual refresh always remains available). |
Variable¶
Variable definition from YAML.
| Field | Type | Description |
|---|---|---|
input |
enum: "auto", "select", "multiselect", "input", "text", "number", "textarea", "slider", "range", "date", "datepicker", "daterange", "checkbox", "radio" | UI control type (select, multiselect, slider, daterange, etc.). 'auto' detects from options. |
label |
str | Caption naming what this input sets. |
notes |
str | Help text for this input, carried to the host rather than drawn on the board. |
default |
Any | Value the variable takes when neither a URL param nor --var supplies one. |
placeholder |
str | Hint text shown inside the input while it is empty. |
required |
bool | When True, a value must be provided before queries execute. |
visible |
bool | When False, the variable is not rendered in the UI but can still be set via URL params. |
enabled |
bool | str | SingleRowBoolProbe | Enable this control. Accepts: static bool; a variable name or Jinja boolean expression string (no {{ }} required, bare names auto-wrap); or a {query, column} form that reads a single boolean cell from a named query. None = enabled. Absent variable in a string expression raises (use a default). |
column |
str | Table column to draw option values from, as 'table.column'. The table may be schema-qualified ('schema.table.column') when it is not in the connection's default schema. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | Query name or inline query definition for populating options. |
options |
VariableOptions | Where the selectable values come from: a written-out list or a query. |
data_type |
enum: "string", "number", "date", "boolean", "array" | The type of the values a select, radio or multiselect sends back. 'number', 'date' and 'boolean' convert the value before it reaches SQL; needed when the options come from a query, since a static numeric list already implies 'number'. 'string' and 'array' leave the value as sent. |
min |
int | float | Minimum value for number, slider and range inputs. |
max |
int | float | Maximum value for number, slider and range inputs. |
step |
int | float | Step size for number, slider and range inputs. |
operator |
str | SQL operator used when generating filter expressions (e.g., '=', 'IN', 'LIKE'). |
VariableRef¶
Cross-file variable reference. Bare string is coerced automatically.
Required
| Field | Type | Description |
|---|---|---|
ref |
str | Reference path: '<file>.variables.<name>'. May start with one or more '../' segments to reach a sibling directory. A bare string value is coerced automatically. |
SqlQuery¶
Raw SQL query: the default query type.
| Field | Type | Description |
|---|---|---|
source |
str | dict[str, Any] | Source name reference, or an inline file path (e.g. ./data/sales.csv). File paths are detected by / or data file extension. An inline connection-bearing dict ({type: postgres, ...}) is rejected at compile time; reference a named source instead. |
notes |
str | Prose summary of what this query returns, passed along with its results to tooling. |
ignore |
list[str] | Diagnostic codes to suppress for this query (e.g., ['WARN-FANOUT-RISK', 'WARN-REAGGREGATION']). |
cache |
Cache | Cache policy override for this query, e.g. cache: 5m: refines the policy inherited from the source and project scopes; cache: false opts out of result caching entirely. Queries with cache: false cannot be used as {{ queries.X.cache }} upstream references. |
incremental |
str | const: false | Column used as the monotonic watermark for incremental refresh: the executor fetches only rows after the prior watermark and merges them with the cached result. incremental: false opts this query out of a board's incremental setting. Inherits from the board-level incremental setting when omitted. |
type |
const: "sql" | |
sql |
str | The statement to run, with Jinja2 over board variables, other queries, and the filter helpers. |
setup_sql |
str | Non-nestable SQL preamble executed before the main query (e.g., CREATE TEMP FUNCTION). |
target |
str | dbt target name for queries against a dbt_profile source (defaults to 'dev'). |
dialect |
enum: "athena", "bigquery", "clickhouse", "databricks", "duckdb", "mysql", "postgres", "presto", "redshift", "snowflake", "spark", "sqlite", "sqlserver", "trino" | Warehouse dialect the SQL is written in, translated to the source's. |
HttpQuery¶
REST API query.
Required
| Field | Type | Description |
|---|---|---|
url |
str | HTTP endpoint URL for REST API queries. |
Optional
| Field | Type | Description |
|---|---|---|
source |
str | dict[str, Any] | Source name reference, or an inline file path (e.g. ./data/sales.csv). File paths are detected by / or data file extension. An inline connection-bearing dict ({type: postgres, ...}) is rejected at compile time; reference a named source instead. |
notes |
str | Prose summary of what this query returns, passed along with its results to tooling. |
ignore |
list[str] | Diagnostic codes to suppress for this query (e.g., ['WARN-FANOUT-RISK', 'WARN-REAGGREGATION']). |
cache |
Cache | Cache policy override for this query, e.g. cache: 5m: refines the policy inherited from the source and project scopes; cache: false opts out of result caching entirely. Queries with cache: false cannot be used as {{ queries.X.cache }} upstream references. |
incremental |
str | const: false | Column used as the monotonic watermark for incremental refresh: the executor fetches only rows after the prior watermark and merges them with the cached result. incremental: false opts this query out of a board's incremental setting. Inherits from the board-level incremental setting when omitted. |
type |
const: "http" | |
method |
enum: "GET", "POST", "PUT", "DELETE", "PATCH" | Verb the request is sent with (GET, POST, PUT, DELETE, PATCH). |
headers |
dict[str, str] | Header lines sent with the request, such as auth and content type. |
params |
dict[str, Any] | Values appended to the URL after the '?'. |
body |
dict[str, Any] | str | Payload sent with the request, on POST, PUT, and PATCH. |
limit |
int | Maximum number of rows returned. |
json_path |
str | JSONPath expression to extract tabular data from the HTTP response. |
ValuesQuery¶
Inline data authored as a list of row mappings.
Required
| Field | Type | Description |
|---|---|---|
rows |
list[dict[str, Any]] | Inline data rows (list of row dicts). Use the compact columns-and-values form instead when row values are positional. |
Optional
| Field | Type | Description |
|---|---|---|
source |
str | dict[str, Any] | Source name reference, or an inline file path (e.g. ./data/sales.csv). File paths are detected by / or data file extension. An inline connection-bearing dict ({type: postgres, ...}) is rejected at compile time; reference a named source instead. |
notes |
str | Prose summary of what this query returns, passed along with its results to tooling. |
ignore |
list[str] | Diagnostic codes to suppress for this query (e.g., ['WARN-FANOUT-RISK', 'WARN-REAGGREGATION']). |
cache |
Cache | Cache policy override for this query, e.g. cache: 5m: refines the policy inherited from the source and project scopes; cache: false opts out of result caching entirely. Queries with cache: false cannot be used as {{ queries.X.cache }} upstream references. |
incremental |
str | const: false | Column used as the monotonic watermark for incremental refresh: the executor fetches only rows after the prior watermark and merges them with the cached result. incremental: false opts this query out of a board's incremental setting. Inherits from the board-level incremental setting when omitted. |
type |
const: "values" |
CompactValuesQuery¶
Inline data authored as column names plus positional row values.
Required
| Field | Type | Description |
|---|---|---|
columns |
list[str] | Column names for the compact syntax. Every compact values query also requires values. |
values |
list[list[Any]] | Inline row-oriented data (list of lists) for the compact syntax. Every compact values query also requires columns. |
Optional
| Field | Type | Description |
|---|---|---|
source |
str | dict[str, Any] | Source name reference, or an inline file path (e.g. ./data/sales.csv). File paths are detected by / or data file extension. An inline connection-bearing dict ({type: postgres, ...}) is rejected at compile time; reference a named source instead. |
notes |
str | Prose summary of what this query returns, passed along with its results to tooling. |
ignore |
list[str] | Diagnostic codes to suppress for this query (e.g., ['WARN-FANOUT-RISK', 'WARN-REAGGREGATION']). |
cache |
Cache | Cache policy override for this query, e.g. cache: 5m: refines the policy inherited from the source and project scopes; cache: false opts out of result caching entirely. Queries with cache: false cannot be used as {{ queries.X.cache }} upstream references. |
incremental |
str | const: false | Column used as the monotonic watermark for incremental refresh: the executor fetches only rows after the prior watermark and merges them with the cached result. incremental: false opts this query out of a board's incremental setting. Inherits from the board-level incremental setting when omitted. |
type |
const: "values" |
SchemaQuery¶
dbt source schema query.
| Field | Type | Description |
|---|---|---|
source |
str | dict[str, Any] | Source name reference, or an inline file path (e.g. ./data/sales.csv). File paths are detected by / or data file extension. An inline connection-bearing dict ({type: postgres, ...}) is rejected at compile time; reference a named source instead. |
notes |
str | Prose summary of what this query returns, passed along with its results to tooling. |
ignore |
list[str] | Diagnostic codes to suppress for this query (e.g., ['WARN-FANOUT-RISK', 'WARN-REAGGREGATION']). |
cache |
Cache | Cache policy override for this query, e.g. cache: 5m: refines the policy inherited from the source and project scopes; cache: false opts out of result caching entirely. Queries with cache: false cannot be used as {{ queries.X.cache }} upstream references. |
incremental |
str | const: false | Column used as the monotonic watermark for incremental refresh: the executor fetches only rows after the prior watermark and merges them with the cached result. incremental: false opts this query out of a board's incremental setting. Inherits from the board-level incremental setting when omitted. |
type |
const: "schema" | Never inferred; write type: schema explicitly. |
schema |
str | Which schema to inspect; lists every schema in the source if omitted (YAML key: schema). |
table |
str | Which table to inspect; lists the schema's tables if omitted. |
column |
str | Which column to profile; profiles every column in the table if omitted. |
fields |
list[str] | Project the result rows to exactly these keys, in this order: the schema-query counterpart of a SQL SELECT list. A projected key a row lacks yields null. Omit to return every key each row carries. |
QueryRef¶
Cross-file query reference. Bare string is coerced automatically.
Required
| Field | Type | Description |
|---|---|---|
ref |
str | Reference path: '<file>.queries.<name>'. May start with one or more '../' segments to reach a sibling directory. A bare string value is coerced automatically. |
BarChart¶
Authored patch for bar and histogram charts; histogram adds automatic x binning.
Required
| Field | Type | Description |
|---|---|---|
type |
enum: "bar", "histogram" | Selects the chart family. |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
x |
str | X-axis column name from the query result. |
y |
str | list[str] | Y-axis column name(s). Accepts a single column or list for multi-series charts. |
x_label |
str | Title for the X axis, replacing the one derived from the x column's name. |
y_label |
str | Title for the Y axis, replacing the one the chart derives on its own. |
color |
str | Column that splits the marks into colored series; on heatmap, the measure its cells are shaded by. Bare column name only. |
sort |
ChartSort | Which column orders the marks, and in which direction (asc/desc). |
multiples |
MultiplesConfig | Partition this chart into small multiples by a rows column (vertical stack), a columns column (side by side), or both (grid). Panels share one measure scale by default. |
support_table |
list[str | ChartSupportTableSource | ChartSupportTableAggregate | ChartSupportTablePerSeries] | ChartSupportTable | Optional mini data-grid attached below/above the chart. |
height |
int | float | Explicit chart height in pixels. Positive number only. When set, overrides aspect_ratio and theme cascade. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
y_start |
str | Column each bar starts from, so it runs from y_start to y instead of from zero. Same kind as y: both numeric, or both dates. Not with stacking. |
style |
BarChartStyle | Appearance overrides for this chart alone. |
layers |
list[BarLayer | LineLayer | AreaLayer | ScatterLayer] | Extra marks drawn over this chart, each with its own type and columns. Not supported when type: histogram: a histogram bins x and aggregates to a count, so there is no shared y measure for an overlay to plot against. |
LineChart¶
Authored patch for line charts.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "line" |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
x |
str | X-axis column name from the query result. |
y |
str | list[str] | Y-axis column name(s). Accepts a single column or list for multi-series charts. |
x_label |
str | Title for the X axis, replacing the one derived from the x column's name. |
y_label |
str | Title for the Y axis, replacing the one the chart derives on its own. |
color |
str | Column that splits the marks into colored series; on heatmap, the measure its cells are shaded by. Bare column name only. |
sort |
ChartSort | Which column orders the marks, and in which direction (asc/desc). |
multiples |
MultiplesConfig | Partition this chart into small multiples by a rows column (vertical stack), a columns column (side by side), or both (grid). Panels share one measure scale by default. |
support_table |
list[str | ChartSupportTableSource | ChartSupportTableAggregate | ChartSupportTablePerSeries] | ChartSupportTable | Optional mini data-grid attached below/above the chart. |
height |
int | float | Explicit chart height in pixels. Positive number only. When set, overrides aspect_ratio and theme cascade. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
style |
LineChartStyle | Appearance overrides for this chart alone. |
layers |
list[BarLayer | LineLayer | AreaLayer | ScatterLayer] | Extra marks drawn over this chart, each with its own type and columns. |
AreaChart¶
Authored patch for area charts.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "area" |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
x |
str | X-axis column name from the query result. |
y |
str | list[str] | Y-axis column name(s). Accepts a single column or list for multi-series charts. |
x_label |
str | Title for the X axis, replacing the one derived from the x column's name. |
y_label |
str | Title for the Y axis, replacing the one the chart derives on its own. |
color |
str | Column that splits the marks into colored series; on heatmap, the measure its cells are shaded by. Bare column name only. |
sort |
ChartSort | Which column orders the marks, and in which direction (asc/desc). |
multiples |
MultiplesConfig | Partition this chart into small multiples by a rows column (vertical stack), a columns column (side by side), or both (grid). Panels share one measure scale by default. |
support_table |
list[str | ChartSupportTableSource | ChartSupportTableAggregate | ChartSupportTablePerSeries] | ChartSupportTable | Optional mini data-grid attached below/above the chart. |
height |
int | float | Explicit chart height in pixels. Positive number only. When set, overrides aspect_ratio and theme cascade. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
style |
AreaChartStyle | Appearance overrides for this chart alone. |
layers |
list[BarLayer | LineLayer | AreaLayer | ScatterLayer] | Extra marks drawn over this chart, each with its own type and columns. |
ScatterChart¶
Authored patch for scatter charts.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "scatter" |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
x |
str | X-axis column name from the query result. |
y |
str | list[str] | Y-axis column name(s). Accepts a single column or list for multi-series charts. |
x_label |
str | Title for the X axis, replacing the one derived from the x column's name. |
y_label |
str | Title for the Y axis, replacing the one the chart derives on its own. |
color |
str | Column that splits the marks into colored series; on heatmap, the measure its cells are shaded by. Bare column name only. |
sort |
ChartSort | Which column orders the marks, and in which direction (asc/desc). |
multiples |
MultiplesConfig | Partition this chart into small multiples by a rows column (vertical stack), a columns column (side by side), or both (grid). Panels share one measure scale by default. |
support_table |
list[str | ChartSupportTableSource | ChartSupportTableAggregate | ChartSupportTablePerSeries] | ChartSupportTable | Optional mini data-grid attached below/above the chart. |
height |
int | float | Explicit chart height in pixels. Positive number only. When set, overrides aspect_ratio and theme cascade. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
size |
str | Column used to size-encode data points (quantitative). |
shape |
str | Column used to shape-encode data points (categorical). |
style |
ScatterChartStyle | Appearance overrides for this chart alone. |
layers |
list[BarLayer | LineLayer | AreaLayer | ScatterLayer] | Extra marks drawn over this chart, each with its own type and columns. |
HeatmapChart¶
Authored patch for heatmap charts.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "heatmap" |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
x |
str | X-axis column name from the query result. |
y |
str | list[str] | Y-axis column name(s). Accepts a single column or list for multi-series charts. |
x_label |
str | Title for the X axis, replacing the one derived from the x column's name. |
y_label |
str | Title for the Y axis, replacing the one the chart derives on its own. |
color |
str | Column that splits the marks into colored series; on heatmap, the measure its cells are shaded by. Bare column name only. |
sort |
ChartSort | Which column orders the marks, and in which direction (asc/desc). |
multiples |
MultiplesConfig | Partition this chart into small multiples by a rows column (vertical stack), a columns column (side by side), or both (grid). Panels share one measure scale by default. |
support_table |
list[str | ChartSupportTableSource | ChartSupportTableAggregate | ChartSupportTablePerSeries] | ChartSupportTable | Optional mini data-grid attached below/above the chart. |
height |
int | float | Explicit chart height in pixels. Positive number only. When set, overrides aspect_ratio and theme cascade. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. Valid on cartesian chart families (area, bar, heatmap, histogram, line, scatter), pie/donut, and geo families (geoshape, map, point_map, bubble_map). Other chart families use renderer-owned or layout-owned sizing contracts. |
style |
HeatmapChartStyle | Appearance overrides for this chart alone. |
PieChart¶
Authored patch for pie and donut charts; donut defaults style.inner_radius to 0.6.
Required
| Field | Type | Description |
|---|---|---|
type |
enum: "pie", "donut" | Selects the chart family. |
theta |
str | Column for angular encoding in pie (arc) charts. |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
color |
str | Column naming each wedge, giving it its own hue. Bare column name only. |
total |
ChartTotal | Sum of the slice values, drawn in the donut hole. |
height |
int | float | Explicit chart height in pixels. Positive number only. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. |
style |
PieChartStyle | Appearance overrides for this chart alone. |
KpiChart¶
Authored patch for KPI (key performance indicator) charts.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "kpi" | |
value |
str | Column reference (string column name) for the headline number/text. |
Optional
| Field | Type | Description |
|---|---|---|
conditional_formatting |
dict[str, FieldConditionalFormatting] | Discrete rule-driven style overrides indexed by column name. Available on type: table and type: kpi only. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
label |
str | Caption naming what the headline value measures; variant decides where it sits. |
variant |
enum: "stacked", "inline", "compact" | Layout variant. 'stacked' (default) shows value, label, and support on three vertical lines. 'inline' lays value, label, and support out on a single baseline-aligned row. 'compact' is 2-column: big value on the left, up to two stacked lines on the right with the bottom line sharing baseline with the value; a lone support block splits across the two right-column lines. |
support |
KpiSupportConfig | Secondary block, a delta, comparison, or note; variant decides where it sits. |
style |
KpiChartStyle | Appearance overrides for this chart alone. |
background |
str | dict[str, Any] | Gradient background channel, {column, scale} shape. Paints the card background by the value's position in the scale. |
TableChart¶
Authored patch for table charts.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "table" |
Optional
| Field | Type | Description |
|---|---|---|
conditional_formatting |
dict[str, FieldConditionalFormatting] | Discrete rule-driven style overrides indexed by column name. Available on type: table and type: kpi only. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
style |
TableChartStyle | Appearance overrides for this chart alone. |
rows |
list[str] | Fields whose distinct values form the row dimension of a pivot cross-tab. Each string is a column name from the query result. Omit for flat (non-pivot) tables. |
columns |
list[str] | Fields whose distinct values become column headers in a pivot cross-tab. Multiple fields create a nested multi-dimension pivot (outer → inner). Omit for flat tables. |
values |
list[str] | Measure fields that fill pivot cells. Each string is a column name from the query result. When omitted, all query columns not claimed by rows or columns are used. |
spanners |
list[TableSpanner] | Labels drawn in an extra header row above runs of adjacent columns of a flat table. Not combinable with the pivot rows/columns/values channels. |
PointMapChart¶
Authored patch for point_map and bubble_map charts; the two type spellings are synonyms.
Required
| Field | Type | Description |
|---|---|---|
type |
enum: "point_map", "bubble_map" | Selects the chart family. |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
projection |
str | Projection | Map projection name or Vega-Lite projection config. |
color |
str | Column carried on the color channel: fill for geoshape regions, hue for point-map points. Bare column name only. |
geo |
str | dict[str, Any] | Named GeoJSON boundary source, or inline GeoJSON spec, for geoshape charts. |
geo_source |
str | Named geographic data source for loading GeoJSON boundaries. |
lookup |
str | Data column to join against geographic data (map join key). |
value |
str | Data column mapped to the fill color on geoshape, taking precedence over color: when both are set. Ignored on point_map and bubble_map. |
height |
int | float | Explicit chart height in pixels. Positive number only. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. |
latitude |
str | Column containing latitude values for point/bubble maps. |
longitude |
str | Column containing longitude values for point/bubble maps. |
size |
str | Quantitative column that scales point area. Mutually exclusive with collapse. |
collapse |
bool | Collapse marks sharing an exact latitude/longitude into one mark sized by count. Mutually exclusive with size and with any color channel. |
basemap |
BasemapConfig | Styled geographic background layer. |
style |
PointMapChartStyle | Appearance overrides for this chart alone. |
GeoshapeChart¶
Authored patch for map and geoshape charts; the two type spellings are synonyms.
Required
| Field | Type | Description |
|---|---|---|
type |
enum: "map", "geoshape" | Selects the chart family. |
Optional
| Field | Type | Description |
|---|---|---|
field_labels |
dict[str, str] | Display text per query column, painted as written wherever the chart would otherwise derive text from that column's name: legend titles and entries, tooltip rows, axis titles. x_label/y_label and a layer's label win on their own surface. |
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
projection |
str | Projection | Map projection name or Vega-Lite projection config. |
color |
str | Column carried on the color channel: fill for geoshape regions, hue for point-map points. Bare column name only. |
geo |
str | dict[str, Any] | Named GeoJSON boundary source, or inline GeoJSON spec, for geoshape charts. |
geo_source |
str | Named geographic data source for loading GeoJSON boundaries. |
lookup |
str | Data column to join against geographic data (map join key). |
value |
str | Data column mapped to the fill color on geoshape, taking precedence over color: when both are set. Ignored on point_map and bubble_map. |
height |
int | float | Explicit chart height in pixels. Positive number only. |
width |
int | float | Chart width in pixels. Positive number only. In a rows layout the chart's slot pins to this width (a fixed footprint, capped at the row). In cols and grid layouts it contributes to the dashboard's intrinsic width measurement when the board has no width of its own, and the layout still owns the final slot. |
style |
GeoshapeChartStyle | Appearance overrides for this chart alone. |
CalloutChart¶
Static callout/message chart. Minimal: no chrome, no styling, no query.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "callout" | |
message |
str | Body text the callout displays. |
Optional
| Field | Type | Description |
|---|---|---|
title |
str | Optional chart title shown above the message. |
style |
CalloutChartStyle | Appearance overrides for this chart alone (tone). |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
SparkBarChart¶
Authored patch for spark_bar charts (compact horizontal bars).
Required
| Field | Type | Description |
|---|---|---|
type |
const: "spark_bar" |
Optional
| Field | Type | Description |
|---|---|---|
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
x |
str | Bar-magnitude (numeric) column name. |
y |
str | list[str] | Bar-label (category) column name(s). |
style |
SparkBarChartStyle | Appearance overrides for this chart alone. |
CustomChart¶
Authored patch for custom charts: rows in, SVG out, drawn by a template.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "custom" |
Optional
| Field | Type | Description |
|---|---|---|
id |
str | Identifier for this chart. Generated from its charts: key, or, written inline, from its title (its label: on type: kpi), falling back to its position. |
notes |
str | Human-readable notes used by AI search. Emitted into the SVG DOM as a data-chart-notes attribute; never painted as visible pixels. |
query |
str | SqlQuery | HttpQuery | ValuesQuery | CompactValuesQuery | SchemaQuery | QueryRef | Where this chart reads its data: a named query, an inline query block, or a SQL string. |
link |
str | const: false | Click-through URL template for drill-down links. Set to false to suppress this chart's automatic link on a board with auto_link: true; table column links are unaffected. |
warnings_ignore |
list[str] | Codes of render warnings to suppress for this chart. |
title |
str | Heading naming what the chart shows. Rejected on type: kpi. |
subtitle |
str | Supporting text beneath the chart title. |
template |
str | Name of a project template: templates/<name>.svg.j2. Exactly one of template or svg is required. |
svg |
str | Inline Jinja SVG template source, used instead of template. |
x |
str | list[str] | Column(s) for the template's x channel; the template header declares it. |
y |
str | list[str] | Column(s) for the template's y channel; the template header declares it. |
color |
str | list[str] | Column(s) for the template's color channel; the template header declares it. |
size |
str | list[str] | Column(s) for the template's size channel; the template header declares it. |
shape |
str | list[str] | Column(s) for the template's shape channel; the template header declares it. |
theta |
str | list[str] | Column(s) for the template's theta channel; the template header declares it. |
value |
str | list[str] | Column(s) for the template's value channel; the template header declares it. |
options |
dict[str, JsonValue] | Values for the options the template declares in its header. |
style |
CustomChartStyle | Sizing overrides for this chart alone. |
ChartRef¶
Cross-file chart reference. Bare string is coerced automatically.
Required
| Field | Type | Description |
|---|---|---|
ref |
str | Reference path: '<file>.charts.<name>'. May start with one or more '../' segments to reach a sibling directory. A bare string value is coerced automatically. |
GridLayout¶
Grid layout configuration.
Required
| Field | Type | Description |
|---|---|---|
items |
list[GridItem] | Cells of this grid, each pairing content with its placement. |
Optional
| Field | Type | Description |
|---|---|---|
columns |
int | Number of grid columns (default: 24). Positive number only. |
TabLayout¶
Tab layout configuration.
Required
| Field | Type | Description |
|---|---|---|
items |
list[TabItem] | Tabs in display order. |
Optional
| Field | Type | Description |
|---|---|---|
id |
str | Variable name and URL param base for tab selection (auto-generated if omitted). |
position |
enum: "top", "left" | Which edge the tab bar sits on (top or left). |
default |
str | Title of the tab opened on load; the first tab if omitted. |
BoardDetails¶
Collapsible section metadata for a board.
Required
| Field | Type | Description |
|---|---|---|
summary |
str | Label shown when the section is collapsed. |
Optional
| Field | Type | Description |
|---|---|---|
expanded_title |
str | Label shown when the section is expanded. Defaults to summary. |
expanded |
bool | Whether the section is open by default. |
Style¶
Authored overlay for Style: all fields optional. Adds CSS shorthand coercers.
| Field | Type | Description |
|---|---|---|
frame |
FrameStyle | Board-level structural frame dimensions. |
background |
str | Working-surface background color (board and card fills). |
accent |
str | Accent color token cascaded to sparklines, bars, and focus rings. |
muted |
str | Muted secondary-text color token (KPI support rows, table and spark subtitles). |
font |
RootFontStyle | Root font configuration including emoji mode. |
border |
BorderStyle | Default border style cascaded to all chart cards. |
box_shadow |
str | CSS box shadow for chart cards; None means no shadow. |
opacity |
float | Default mark opacity (0–1). |
title |
TitleStyle | Typography for every heading: board and prose titles, and chart, table, and spark object titles. |
text |
TextStyle | Markdown and plain text content style. |
placeholder |
PlaceholderStyle | Appearance of the stand-in drawn on a chart with no data. |
charts |
ChartsStyle | Root of all chart-type styles and shared chart configuration. |
layout |
LayoutStyle | Spacing and arrangement inside the containers (rows, cols, grid, tabs, details). |
variables |
VariablesStyle | Variable controls chrome style. |
footer |
FooterStyle | Page footer chrome visibility. |
timestamp |
TimestampStyle | Data-freshness chrome: visibility, placement, format, and font. |
formats |
dict[str, str | FormatConfig] | Format alias map; None means no aliases at this cascade level. |
fonts |
dict[str, NamedFont] | Named fonts other font slots reference as font: <name> or font: {extends: <name>, ...}. heading carries the H1–H6 ramp in sizes; name: null removes an entry. |
palettes |
dict[str, one of: 'category-6-tonal-blue', 'category-6-tonal-blue.dark', 'category-6-tonal-blue.deep', 'category-6-tonal-blue.light', 'category-6-tonal-blue.pale', 'category-6-tonal-brown', 'category-6-tonal-brown.dark', 'category-6-tonal-brown.deep', 'category-6-tonal-brown.light', 'category-6-tonal-brown.pale', 'category-6-tonal-green', 'category-6-tonal-green.dark', 'category-6-tonal-green.deep', 'category-6-tonal-green.light', 'category-6-tonal-green.pale', 'category-6-tonal-orange', 'category-6-tonal-orange.dark', 'category-6-tonal-orange.deep', 'category-6-tonal-orange.light', 'category-6-tonal-orange.pale', 'category-6-tonal-purple', 'category-6-tonal-purple.dark', 'category-6-tonal-purple.deep', 'category-6-tonal-purple.light', 'category-6-tonal-purple.pale', 'dbt-creams', 'dbt-div-blue-red', 'dbt-div-blue-red-dark', 'dbt-div-coolwarm', 'dbt-div-coolwarm-dark', 'dbt-div-crimson-green', 'dbt-div-crimson-green-dark', 'dbt-div-orange-teal', 'dbt-div-orange-teal-dark', 'dbt-div-sunset', 'dbt-div-sunset-dark', 'dbt-grays', 'dbt-seq-amber', 'dbt-seq-amber-dark', 'dbt-seq-blue', 'dbt-seq-blue-dark', 'dbt-seq-brown', 'dbt-seq-brown-dark', 'dbt-seq-gray', 'dbt-seq-gray-dark', 'dbt-seq-green', 'dbt-seq-green-dark', 'dbt-seq-purple', 'dbt-seq-purple-dark', 'dbt-seq-rust', 'dbt-seq-rust-dark', 'dbt-seq-teal', 'dbt-seq-teal-dark', 'editorial-10', 'editorial-10.dark', 'editorial-10.deep', 'editorial-10.light', 'editorial-10.pale', 'hero-6', 'hero-6.dark', 'hero-6.deep', 'hero-6.light', 'hero-6.pale', 'info', 'negative', 'positive', 'tableau', 'tableau.dark', 'tableau.deep', 'tableau.light', 'tableau.pale', 'vivid-10', 'vivid-10.dark', 'vivid-10.deep', 'vivid-10.light', 'vivid-10.pale', 'warning'] | Theme palette role assignments: open dict mapping role name to palette file name. Default seed: chrome, info, negative, positive, warning, category, sequence, diverge. |
tones |
KpiTonesStyle | Semantic tone color palette (positive/negative/warning/info) for KPI support rows, table conditional glyphs, and spark negative_color. |
roles |
dict[str, str] | Optional top-level theme role aliases: bare name → role.alias. e.g. ink: chrome.heading |
padding |
SpacingValues | Per-board padding override (CSS shorthand or structured). |
margin |
SpacingValues | Per-board margin override (CSS shorthand or structured). |
gap |
float | Per-board gap between layout items in pixels. |
SingleRowBoolProbe¶
Single-row boolean query probe.
Required
| Field | Type | Description |
|---|---|---|
query |
str | Name of the query to execute. |
column |
str | Column in the single result row holding the boolean value. |
VariableOptions¶
Options configuration for variable inputs.
| Field | Type | Description |
|---|---|---|
static |
list[str | int | float] | Option values written out in place, all strings or all numbers. Numeric options type the value the control sends back as a number unless data_type says otherwise. |
query |
str | Query name whose result rows provide option values. |
column |
str | Column in the query result to use as option values. |
label_column |
str | Column in the query result to use as display labels (separate from values). |
ChartSort¶
Chart-level sort configuration for categorical axes.
Required
| Field | Type | Description |
|---|---|---|
by |
str | Column name to sort by. A category holding several rows (a color series, or a y: [...] list) is folded to one value of this column first, and on a bar that fold is the stacked total only when the chart stacks and this names its single y column; everything else, a y: [...] measure included, ranks by the smallest value the column holds in that category. Name a column that is constant within a category, or pre-aggregate in the query. |
Optional
| Field | Type | Description |
|---|---|---|
order |
enum: "asc", "desc" | Sort direction (asc or desc). |
MultiplesConfig¶
Small-multiples partition, keyed by layout direction.
| Field | Type | Description |
|---|---|---|
rows |
str | Column whose distinct values become vertically stacked panel rows. |
columns |
str | Column whose distinct values become side-by-side panel columns. |
scale |
enum: "shared", "independent" | Measure-scale sharing across panels. 'shared' (default) makes panels visually comparable; 'independent' gives each panel its own scale. |
ChartSupportTable¶
Container for a chart's support_table block.
Required
| Field | Type | Description |
|---|---|---|
entries |
list[str | ChartSupportTableSource | ChartSupportTableAggregate | ChartSupportTablePerSeries] | List of support-table entries (source, aggregate, or per-series rows). A source entry may be written as a bare column name (revenue in place of {source: revenue}), the same scalar-listable spelling y: uses. |
BarChartStyle¶
Authored overlay for BarChartStyle. Bar chart style: chart-level fields + marks sub-block.
| Field | Type | Description |
|---|---|---|
axis_quantitative |
QuantitativeAxisStyle | Per-chart-type quantitative-axis overrides; None inherits the global axis_quantitative at render. |
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
axis |
BaseAxisStyle | Override applied to both x and y axes; None inherits the global axis at render. |
axis_x |
AxisXStyle | Per-chart-type x-axis style overrides; None inherits the global axis_x at render. |
axis_y |
AxisYStyle | Per-chart-type y-axis style overrides; None inherits the global axis_y at render. |
axis_band |
BandAxisStyle | Per-chart-type categorical (band) axis overrides; None inherits the global band axis at render. |
number_format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "year" | Default number format for axes and tooltips (D3 format string); None inherits from theme. |
time_format |
str | enum: "date_short", "time_short" | Default time format for temporal axes (D3 time format string or strftime spec like '%b %Y'); None inherits from theme. |
support_table |
SupportTableStyle | Per-chart-type support_table style override. Unset fields fall back to style.charts.support_table. |
orientation |
enum: "horizontal", "vertical", "auto" | Preferred bar orientation; None behaves like 'auto', which picks horizontal for a categorical x and vertical for a continuous one (temporal, quantitative, or date-like). Never remaps x/y. |
stack |
enum: "none", "zero", "normalize", "center" | Default stack mode for bar charts; none renders side-by-side columns. |
overlap |
float | enum: "auto", "none", "flush", "partial", "full" | Within-group spacing for grouped bars. Keywords: 'auto' (2 series → partial, 3+ → none), 'none' (small gap), 'flush' (bars touch), 'partial' (25% overlap), 'full' (bars coincide). Or a number as a fraction of bar width: >0 overlaps, 0 touches, <0 gaps; 1 is the maximum (bars fully coincide, same as 'full') and values above 1 are clamped to 1; bars never cross past each other. None uses the renderer default ('auto'). Only applies to grouped bars; setting it together with an active stack mode is an error. |
stack_order |
enum: "value", "data", "alphabetical" | Z-order of stacked segments. None/'value' puts the largest aggregate at baseline. 'data' stacks series in first-appearance order: SQL row order for color:, the listed order for y: [a, b, ...] (a measure null in the first rows appears later). 'alphabetical' sorts by series name. Ignored when stacking is off or there is only one series. |
endpoint_labels |
EndpointLabelsConfig | Series names printed on stacked bars instead of in a legend. |
marks |
BarChartMarksStyle | Bar-family mark overrides. Unset fields fall back to style.charts.marks. |
BarLayer¶
A bar-type layer on a cartesian chart.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "bar" |
Optional
| Field | Type | Description |
|---|---|---|
query |
str | Query name for this layer's data (overrides chart-level query). |
x |
str | X-axis column name for this layer. |
y |
str | Y-axis column name for this layer. |
label |
str | Name for this layer's measure wherever the layer is identified. Defaults to its y column name. |
color |
str | Column whose values split this layer into colored series; bare column name only. |
axis_y |
LayerAxisYStyle | This layer's own y axis: which side it sits on, its title, scale, ticks, grid. |
style |
BarLayerStyle | Appearance overrides for this layer's bar marks. |
y_start |
str | Column each bar starts from, so it runs from y_start to y instead of from zero. Same kind as the chart's y: both numeric, or both dates. |
LineLayer¶
A line-type layer on a cartesian chart.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "line" |
Optional
| Field | Type | Description |
|---|---|---|
query |
str | Query name for this layer's data (overrides chart-level query). |
x |
str | X-axis column name for this layer. |
y |
str | Y-axis column name for this layer. |
label |
str | Name for this layer's measure wherever the layer is identified. Defaults to its y column name. |
color |
str | Column whose values split this layer into colored series; bare column name only. |
axis_y |
LayerAxisYStyle | This layer's own y axis: which side it sits on, its title, scale, ticks, grid. |
style |
LineLayerStyle | Appearance overrides for this layer's line marks. |
AreaLayer¶
An area-type layer on a cartesian chart.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "area" |
Optional
| Field | Type | Description |
|---|---|---|
query |
str | Query name for this layer's data (overrides chart-level query). |
x |
str | X-axis column name for this layer. |
y |
str | Y-axis column name for this layer. |
label |
str | Name for this layer's measure wherever the layer is identified. Defaults to its y column name. |
color |
str | Column whose values split this layer into colored series; bare column name only. |
axis_y |
LayerAxisYStyle | This layer's own y axis: which side it sits on, its title, scale, ticks, grid. |
style |
AreaLayerStyle | Appearance overrides for this layer's area marks. |
ScatterLayer¶
A scatter-type layer on a cartesian chart.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "scatter" |
Optional
| Field | Type | Description |
|---|---|---|
query |
str | Query name for this layer's data (overrides chart-level query). |
x |
str | X-axis column name for this layer. |
y |
str | Y-axis column name for this layer. |
label |
str | Name for this layer's measure wherever the layer is identified. Defaults to its y column name. |
color |
str | Column whose values split this layer into colored series; bare column name only. |
axis_y |
LayerAxisYStyle | This layer's own y axis: which side it sits on, its title, scale, ticks, grid. |
style |
ScatterLayerStyle | Appearance overrides for this layer's point marks. |
LineChartStyle¶
Authored overlay for LineChartStyle. Line chart style: chart-level fields + marks sub-block.
| Field | Type | Description |
|---|---|---|
axis_quantitative |
QuantitativeAxisStyle | Per-chart-type quantitative-axis overrides; None inherits the global axis_quantitative at render. |
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
axis |
BaseAxisStyle | Override applied to both x and y axes; None inherits the global axis at render. |
axis_x |
AxisXStyle | Per-chart-type x-axis style overrides; None inherits the global axis_x at render. |
axis_y |
AxisYStyle | Per-chart-type y-axis style overrides; None inherits the global axis_y at render. |
axis_band |
BandAxisStyle | Per-chart-type categorical (band) axis overrides; None inherits the global band axis at render. |
number_format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "year" | Default number format for axes and tooltips (D3 format string); None inherits from theme. |
time_format |
str | enum: "date_short", "time_short" | Default time format for temporal axes (D3 time format string or strftime spec like '%b %Y'); None inherits from theme. |
support_table |
SupportTableStyle | Per-chart-type support_table style override. Unset fields fall back to style.charts.support_table. |
endpoint_labels |
EndpointLabelsConfig | Series names printed at the end of each line instead of in a legend. |
marks |
LineChartMarksStyle | Line-family mark overrides. Unset fields fall back to style.charts.marks. |
AreaChartStyle¶
Authored overlay for AreaChartStyle. Area chart style: chart-level fields + marks sub-block.
| Field | Type | Description |
|---|---|---|
axis_quantitative |
QuantitativeAxisStyle | Per-chart-type quantitative-axis overrides; None inherits the global axis_quantitative at render. |
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
axis |
BaseAxisStyle | Override applied to both x and y axes; None inherits the global axis at render. |
axis_x |
AxisXStyle | Per-chart-type x-axis style overrides; None inherits the global axis_x at render. |
axis_y |
AxisYStyle | Per-chart-type y-axis style overrides; None inherits the global axis_y at render. |
axis_band |
BandAxisStyle | Per-chart-type categorical (band) axis overrides; None inherits the global band axis at render. |
number_format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "year" | Default number format for axes and tooltips (D3 format string); None inherits from theme. |
time_format |
str | enum: "date_short", "time_short" | Default time format for temporal axes (D3 time format string or strftime spec like '%b %Y'); None inherits from theme. |
support_table |
SupportTableStyle | Per-chart-type support_table style override. Unset fields fall back to style.charts.support_table. |
stack |
enum: "none", "zero", "normalize", "center" | Default stack mode for area charts: 'none', 'zero', 'normalize', or 'center'. |
stack_order |
enum: "value", "data", "alphabetical" | Z-order of stacked segments. None/'value' puts the largest aggregate at baseline. 'data' stacks series in first-appearance order: SQL row order for color:, the listed order for y: [a, b, ...] (a measure null in the first rows appears later). 'alphabetical' sorts by series name. Ignored when stacking is off or there is only one series. |
endpoint_labels |
EndpointLabelsConfig | Series names printed on the bands instead of in a legend. |
marks |
AreaChartMarksStyle | Area-family mark overrides. Unset fields fall back to style.charts.marks. |
ScatterChartStyle¶
Authored overlay for ScatterChartStyle. Scatter chart style: chart-level fields + marks sub-block.
| Field | Type | Description |
|---|---|---|
axis_quantitative |
QuantitativeAxisStyle | Per-chart-type quantitative-axis overrides; None inherits the global axis_quantitative at render. |
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
axis |
BaseAxisStyle | Override applied to both x and y axes; None inherits the global axis at render. |
axis_x |
AxisXStyle | Per-chart-type x-axis style overrides; None inherits the global axis_x at render. |
axis_y |
AxisYStyle | Per-chart-type y-axis style overrides; None inherits the global axis_y at render. |
axis_band |
BandAxisStyle | Per-chart-type categorical (band) axis overrides; None inherits the global band axis at render. |
number_format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "year" | Default number format for axes and tooltips (D3 format string); None inherits from theme. |
time_format |
str | enum: "date_short", "time_short" | Default time format for temporal axes (D3 time format string or strftime spec like '%b %Y'); None inherits from theme. |
support_table |
SupportTableStyle | Per-chart-type support_table style override. Unset fields fall back to style.charts.support_table. |
marks |
ScatterChartMarksStyle | Scatter-family mark overrides. Unset fields fall back to style.charts.marks. |
HeatmapChartStyle¶
Authored overlay for HeatmapChartStyle. Heatmap chart style.
| Field | Type | Description |
|---|---|---|
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
axis |
BaseAxisStyle | Override applied to both x and y axes; None inherits the global axis at render. |
axis_x |
AxisXStyle | Per-chart-type x-axis style overrides; None inherits the global axis_x at render. |
axis_y |
AxisYStyle | Per-chart-type y-axis style overrides; None inherits the global axis_y at render. |
axis_band |
BandAxisStyle | Per-chart-type categorical (band) axis overrides; None inherits the global band axis at render. |
number_format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "year" | Default number format for axes and tooltips (D3 format string); None inherits from theme. |
time_format |
str | enum: "date_short", "time_short" | Default time format for temporal axes (D3 time format string or strftime spec like '%b %Y'); None inherits from theme. |
support_table |
SupportTableStyle | Per-chart-type support_table style override. Unset fields fall back to style.charts.support_table. |
cell_padding |
float | Padding between heatmap cells in pixels. |
marks |
HeatmapChartMarksStyle | Heatmap-family mark overrides. Unset fields fall back to style.charts.marks. |
ChartTotal¶
Donut center total: auto-rendered sum at the center of a donut, with author override.
| Field | Type | Description |
|---|---|---|
visible |
bool | Whether to render the donut center total. Defaults True; set False to suppress the auto-rendered center on donuts whose theta values aren't a meaningful sum (e.g. pre-aggregated percentage shares). |
label |
str | Caption text displayed below the center total value. |
PieChartStyle¶
Authored overlay for PieChartStyle. Pie/donut chart style: geometry + total (flat) + marks sub-block.
| Field | Type | Description |
|---|---|---|
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
PieLegendStyle | Pie key style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Aspect ratio (width/height) of the pie chart viewport. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
inner_radius |
float | Hole-to-disk ratio 0–1 (inner radius / outer radius). None = solid pie; type: donut overrides this with a chart-local 0.6 patch, beating a theme value. |
total |
TotalStyle | Donut center total paint (value and label). |
marks |
PieChartMarksStyle | Pie-family mark overrides. Unset fields fall back to style.charts.marks. |
FieldConditionalFormatting¶
Conditional formatting rules scoped to a single column.
Required
| Field | Type | Description |
|---|---|---|
when |
list[ConditionalRule] | Ordered list of conditional rules. The first matching rule applies; a 'default: true' rule must be last. |
KpiSupportConfig¶
Support-line block authored alongside a KPI's main value.
| Field | Type | Description |
|---|---|---|
value |
str | Column reference (string column name) for the support number/text. |
label |
str | Trailing explainer text rendered beside the support value. |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | How the value is written: a D3 spec, a preset name, or a format block. A date value defaults to date_short when unformatted. |
glyph |
str | Text shown before the value (e.g. '▲', '▼', '●'). |
tone |
enum: "positive", "negative", "warning", "info" | Semantic styling for the support value/glyph. |
KpiChartStyle¶
Authored overlay for KpiChartStyle. Produced by cascade from theme YAML.
| Field | Type | Description |
|---|---|---|
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
font |
FontStyle | KPI chart-level font overrides. Unset fields fall back to style.charts.font. |
value |
KpiValueStyle | KPI headline value slot. |
label |
KpiSlotStyle | KPI card label slot. |
affix |
KpiSlotStyle | Currency/percent affix slot. |
glyph |
KpiSlotStyle | Indicator glyph (▲▼●) slot. |
min_card_width |
float | Minimum KPI card width in pixels. |
default_height |
float | Default KPI card height in pixels. |
border |
BorderStyle | KPI card border style. |
content_padding |
SpacingValues | Inner inset (top/right/bottom/left) for KPI card content in pixels. |
align |
enum: "left", "center", "right" | Horizontal alignment of the value, label, and support text within the card. |
TableChartStyle¶
Authored overlay for TableChartStyle. Table chart style overrides layered on top of shared chart defaults.
| Field | Type | Description |
|---|---|---|
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Table background color; None inherits from theme. |
font |
FontStyle | Table chart-level font overrides. Unset fields fall back to style.charts.font. |
border |
BorderStyle | Chart card border style. |
color |
StaticGradientColorStyle | Table color: static text paint or gradient scale only (no categorical arm). |
rule |
TableRuleStyle | Table rule style overrides (color). None = no override; inherits from theme. |
outer_padding |
float | Outer table padding in pixels. |
bottom_padding |
float | Extra bottom padding below the last row in pixels. |
column_layout |
TableColumnsStyle | Default column width and cell padding settings. |
header |
TableHeaderStyle | Table header row style. |
row |
TableRowStyle | Table body row style. |
row_numbers |
TableRowNumbersStyle | Leading row-number column configuration. |
title_row |
TableTitleStyle | Title block rendered above the header row. |
wrap |
bool | Allow cell text wrapping; false clips to single line. |
pagination |
PaginationConfig | Client-side pagination defaults for table charts. |
column_defaults |
TableColumnDefaultsConfig | Table-level column defaults applied to every column; None means no defaults authored. |
columns |
dict[str, TableColumnConfig] | Per-column display configuration keyed by column name (label, format, width, etc.). |
header_overflow |
enum: "clip", "truncate", "wrap-two", "wrap" | Table column header text overflow mode; None inherits from theme. |
paginator |
PaginatorStyle | Visual style for the paginator control (chevrons + page numbers). |
symbol_mode |
enum: "all", "anchors" | Where to show currency-prefix and magnitude/unit suffix symbols in a numeric column. 'all' shows the full formatted value on every row; 'anchors' shows it only on the first data row and summary/total rows, stripping prefix and suffix from plain middle rows so the anchors guide the reader at the top and bottom of the value field. |
more_rows |
TableEdgeStyle | Style for the 'more rows' edge-case indicator. |
empty_state |
TableEdgeStyle | Style for the empty-state (no data) indicator. |
spark |
SparkStyle | Inline sparkline defaults for table cells. |
transpose |
bool | When True, render a single wide data row as N (label, value) rows, one per column. Raises ChartDataError when data has more than one row. Used for Looker single-value summary tiles with multiple measures. |
text_baseline_offset |
float | Vertical offset to align SVG text baseline with cell grid in pixels. |
title_subtitle_gap |
float | Pure whitespace between the title's descent and the subtitle's ascent, in pixels, not a baseline-to-baseline distance. Combined with the title and subtitle font sizes to reproduce Vega-Lite's title->subtitle spacing at any font size, not one calibrated pair. Font size and color for the subtitle itself come from style.title.subtitle (the same source chart-family titles use), not a table-local constant. |
TableSpanner¶
One authored spanner: a label drawn over a run of adjacent columns.
Required
| Field | Type | Description |
|---|---|---|
label |
str | Group label for the listed columns. |
columns |
list[str] | Query columns the spanner covers. Must be adjacent in the query's column order and unique; a column may sit in at most one spanner. |
BasemapConfig¶
Styled geographic background layer for point_map and bubble_map charts.
| Field | Type | Description |
|---|---|---|
source |
str | Named geographic boundary source (e.g. 'us-states') for overlay rendering. |
fill |
str | Fill color for geographic boundary overlay. |
stroke |
str | Stroke color for geographic boundary overlay. |
PointMapChartStyle¶
Authored overlay for PointMapChartStyle. Point map chart style.
| Field | Type | Description |
|---|---|---|
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
StaticGradientColorStyle | Geo color: static paint or gradient scale only (no categorical arm). |
font |
FontStyle | Chart-level font overrides. |
border |
BorderStyle | Chart card border style. |
projection |
ProjectionStyle | Vega-Lite projection configuration for this geo family. |
basemap |
BasemapStyle | Background map layer; None source = no topo layer. |
marks |
PointMapChartMarksStyle | Point-map-family mark overrides. Unset fields fall back to style.charts.marks. |
GeoshapeChartStyle¶
Authored overlay for GeoshapeChartStyle. Geoshape (choropleth) chart style.
| Field | Type | Description |
|---|---|---|
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
StaticGradientColorStyle | Geo color: static paint or gradient scale only (no categorical arm). |
font |
FontStyle | Chart-level font overrides. |
border |
BorderStyle | Chart card border style. |
projection |
ProjectionStyle | Vega-Lite projection configuration for this geo family. |
basemap |
BasemapStyle | Background map layer; None source = no topo layer. |
marks |
GeoshapeChartMarksStyle | Geoshape-family mark overrides. Unset fields fall back to style.charts.marks. |
CalloutChartStyle¶
Authored overlay for CalloutChartStyle. Chart-family style for type: callout charts and runtime chart-error fallback cards.
| Field | Type | Description |
|---|---|---|
preferred_width |
float | Preferred callout width in pixels. |
tone |
enum: "positive", "negative", "warning", "info" | Semantic tone for palette-role lookup (info | positive | negative | warning). |
background |
str | Callout card background color. by_tone is the tone's color. |
border |
BorderStyle | Callout card border style. A color of by_tone is the tone's color. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
section_gap |
float | Vertical gap between callout title and message in pixels. |
title |
CalloutElementStyle | Callout title element style. |
message |
CalloutElementStyle | Callout message element style. |
SparkBarChartStyle¶
Authored overlay for SparkBarChartStyle. Produced by cascade from theme YAML.
| Field | Type | Description |
|---|---|---|
preferred_width |
float | Preferred spark_bar chart width in pixels. |
min_width |
float | Minimum spark_bar chart width in pixels. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
bar |
SparkBarBarStyle | Bar geometry (height, padding, color). |
label |
SparkBarChartLabelStyle | Category-label column (visibility, reserved width). |
count |
SparkBarCountStyle | Count-value column (visibility, reserved width). |
max_bars |
int | Maximum number of bars to render. |
font |
FontStyle | Spark_bar font style overrides. Unset fields fall back to style.charts.font. |
border |
CornerStyle | Spark_bar outer corner rounding. |
subtitle |
SubtitleStyle | Spark_bar subtitle font-sizing constants. |
CustomChartStyle¶
Sizing for a custom chart; its look comes from the board's style:.
| Field | Type | Description |
|---|---|---|
aspect_ratio |
float | Chart aspect ratio (width/height). |
min_height |
float | Minimum chart height in pixels. |
max_height |
float | Maximum chart height in pixels. |
GridItem¶
Grid layout item with position and span.
Required
| Field | Type | Description |
|---|---|---|
item |
str | Board | BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart | dict[str, BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart] | Chart name or inline chart/board definition to place in this grid cell. |
Optional
| Field | Type | Description |
|---|---|---|
col |
int | Column position (0-indexed). Auto-placed if omitted. |
row |
int | Row position (0-indexed). Auto-placed if omitted. |
col_span |
int | Number of columns to span (width in grid units). Zero or a positive number; 0 is treated as unset and falls back to width, then to 1. |
row_span |
int | Number of rows to span (height in grid units). Zero or a positive number; 0 is treated as unset and falls back to height, then to 1. |
width |
int | Alias for col_span (more intuitive name). Zero or a positive number; used only when col_span is unset or 0, and 0 here also falls back to 1. |
height |
int | Alias for row_span (more intuitive name). Zero or a positive number; used only when row_span is unset or 0, and 0 here also falls back to 1. |
notes |
str | Optional metadata for AI search. Emitted into the SVG DOM as a data-layout-notes attribute; never painted as visible pixels. |
TabItem¶
Tab layout item.
Required
| Field | Type | Description |
|---|---|---|
title |
str | Tab label displayed in the tab bar. |
Optional
| Field | Type | Description |
|---|---|---|
icon |
str | Optional icon shown in the tab (e.g., emoji or icon name). |
notes |
str | Optional metadata for AI search. Emitted into the SVG DOM as a data-layout-notes attribute; never painted as visible pixels. |
text |
str | Markdown text content shown in this tab. |
style |
Style | Appearance overrides for this tab's content area. |
rows |
list[str | Board | BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart | dict[str, BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart]] | Vertical stack layout for this tab's content. |
cols |
list[str | Board | BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart | dict[str, BarChart | LineChart | AreaChart | ScatterChart | HeatmapChart | PieChart | KpiChart | TableChart | PointMapChart | GeoshapeChart | CalloutChart | SparkBarChart | CustomChart]] | Horizontal layout for this tab's content. |
grid |
GridLayout | CSS-grid layout for this tab's content. |
tabs |
TabLayout | A further set of tabs opening inside this one. |
FrameStyle¶
Authored overlay for FrameStyle. Board-level structural dimensions. Do NOT cascade to child boards.
| Field | Type | Description |
|---|---|---|
width |
float | Exact board width in pixels. Set it, on a board, a template it extends, or a project's meta.yml, and the board is exactly this wide; the layout distributes it. Leave it unset and the board sizes itself to its content, bounded by max_width. Rendered as an on-screen pixel size everywhere except the dct HTML page (dct serve, dct render --format html), which scales the board to its container. |
max_width |
float | Widest a board without an exact width may grow, in pixels. A board with no width of its own measures its charts' preferred widths and hugs them up to this bound: a single small chart stays a small card. Ignored when width is set. Themes supply the default; a project's meta.yml can lower or raise it. |
min_height |
float | Minimum board height in pixels. |
margin |
float | Board outer margin in pixels. |
card_padding |
float | Padding added to each card side in pixels. |
card_gap |
float | Gap between cards in pixels. |
RootFontStyle¶
Authored overlay for RootFontStyle. Root-level font configuration: FontStyle fields plus a required emoji mode.
| Field | Type | Description |
|---|---|---|
family |
str | Font family name (e.g., 'sans-serif', 'Roboto'). |
color |
str | Text color as a CSS color string. |
size |
float | Font size in pixels. |
weight |
str | float | How heavy the type is drawn (e.g., 'bold', 400, 700). |
style |
enum: "normal", "italic" | Upright or slanted type (normal or italic). |
decoration |
enum: "none", "line-through", "underline" | Line drawn on the text (underline, line-through, or none). |
case |
enum: "none", "sentence", "title", "upper", "lower", "slug", "camel" | Letter-case transform applied at render time. 'title' uses Chicago/Gruber rules and preserves tokens with internal capitals (ARR, iPhone). 'sentence' uppercases only the first character. 'none' (default) emits the string without any letter-case change. |
line_height |
float | Line height as a unitless multiple of font size. Cascades through Style.font to all text roles that carry a FontStyle slot. Body prose defaults to 1.25; titles override tighter via their font patch in theme YAML. |
emoji |
enum: "monochrome", "system-default", "disabled" | Emoji rendering mode for the dashboard font stack. |
BorderStyle¶
Box border. Does NOT cascade (ADR-003: box properties reset per level).
| Field | Type | Description |
|---|---|---|
radius |
float | Border corner radius in pixels. |
color |
str | Border color (CSS color string). |
width |
float | Border width in pixels. |
dash_array |
list[float] | SVG stroke-dasharray pattern in pixels (e.g. [4, 4]). None means a solid border. |
line_cap |
enum: "butt", "round", "square" | How each dash's ends are finished on a dashed border. None uses the renderer default (butt). |
dash_offset |
float | How far into the dash pattern the line starts, in pixels. None means 0. |
TitleStyle¶
Authored overlay for TitleStyle. Board and board titles.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Title font style overrides. Unset fields fall back to style.font. |
compact_weight |
str | float | Object-title font weight on tiny cards. |
width_offsets |
TitleWidthOffsetsStyle | Additive level offsets by card width (tiny/narrow/medium/wide). Object titles add the tier offset to a fixed anchor to pick an H slot from style.fonts.heading.sizes. Board/prose titles are level-only and do not consult these. |
min_height |
float | Minimum title row height in pixels. |
overflow |
enum: "clip", "truncate", "wrap-two", "wrap" | Text overflow mode (clip, truncate, wrap-two, wrap). |
position |
TitlePositionStyle | Vega-Lite title positioning: anchor, angle, offset, baseline. |
level |
int | const: "auto" | Heading level override for board titles. 'auto' (default) computes the level semantically as the count of titled ancestors. An integer value locks all titles in this board and its descendants to that H-level. |
subtitle |
TitleSubtitleStyle | Subtitle font styles. |
TextStyle¶
Authored overlay for TextStyle. Markdown / plain text content.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Text font style overrides. Unset fields fall back to style.font. |
align |
enum: "left", "center", "right" | Text alignment for the board body-text block. |
preferred_width |
float | Widest a prose block asks its board to hug, in px. A shorter text asks only for its own one-line width. |
paragraph |
BlockMarginStyle | Spacing above/below each paragraph block (in line-height units). |
heading |
BlockMarginStyle | Spacing above/below heading blocks (H1–H6) in line-height units. |
column |
TextColumnStyle | Multi-column layout for the board body-text block. |
code |
TextCodeStyle | Inline + fenced code box styling (font, background, border). |
blockquote |
TextBlockquoteStyle | Blockquote box styling (font, background, border/left-rule). |
bold |
TextBoldStyle | Inline bold-run styling (weight), distinct from heading weight. |
rule |
TextRuleStyle | Markdown horizontal-rule and table-gridline color. |
PlaceholderStyle¶
Authored overlay for PlaceholderStyle.
| Field | Type | Description |
|---|---|---|
opacity |
float | Opacity of the placeholder overlay (0–1). |
overlay |
PlaceholderOverlay | Overlay text and background style. |
ChartsStyle¶
Authored overlay for ChartsStyle. Registry of all chart-type styles plus shared chart configuration.
| Field | Type | Description |
|---|---|---|
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. |
background |
str | Chart canvas background; None inherits from the board background via apply_inherit. Falls back to style.background. |
aspect_ratio |
float | Chart aspect ratio (width/height). |
min_height |
float | Minimum chart height in pixels. |
max_height |
float | Maximum chart height in pixels. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
font |
FontStyle | Chart-level font overrides. Unset fields fall back to style.font. |
border |
BorderStyle | Chart card border style. |
title |
TitleStyle | Title style for every chart's title. Unset fields fall back to style.title. |
category_colors |
dict[str, CategoryColorBinding] | Board-wide category→color bindings, keyed by data field name. Pins a category to one swatch across every chart on the board. |
tooltip |
TooltipStyle | Board-wide chart tooltip style. |
hover_emphasis |
HoverEmphasisStyle | Board-wide switch for hover emphasis on charts. |
dashes |
list[list[int]] | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
default_chart_height |
float | Fallback chart height in pixels when aspect-ratio sizing is unavailable. |
default_table_height |
float | Placeholder table height in pixels; replaced by data-aware row-count sizing at render time. |
label_usable_ratio |
float | Fraction of chart width usable for axis labels (0–1); labels are tilted when full labels exceed this width. |
axis |
BaseAxisStyle | Shared axis style applied to all axes before per-axis overrides. |
axis_x |
AxisXStyle | X-axis style overrides applied after the shared axis. Unset fields fall back to style.charts.axis. |
axis_y |
AxisYStyle | Y-axis style overrides applied after the shared axis. Unset fields fall back to style.charts.axis. |
axis_quantitative |
QuantitativeAxisStyle | Quantitative axis style overrides applied after axis_x/axis_y. Unset fields fall back to style.charts.axis. |
view |
ViewStyle | Vega-Lite view dimensions and border. |
marks |
GlobalMarksStyle | Global mark defaults (tier-1 of the marks cascade). |
bar |
BarChartStyle | Bar chart style; histogram has its own block. |
line |
LineChartStyle | Line chart style. |
area |
AreaChartStyle | Area chart style. |
scatter |
ScatterChartStyle | Scatter chart style. |
histogram |
HistogramChartStyle | Histogram chart style. |
heatmap |
HeatmapChartStyle | Heatmap chart style. |
geoshape |
GeoshapeChartStyle | Geoshape (choropleth) chart style. |
point_map |
PointMapChartStyle | Point map chart style. |
pie |
PieChartStyle | Pie/donut chart style. |
series_label |
SeriesLabelStyle | Shared series-label typography for endpoint and stack labels. |
kpi |
KpiChartStyle | KPI card chart style. |
table |
TableChartStyle | Table chart style. |
spark_bar |
SparkBarChartStyle | Spark_bar (full-chart horizontal bar) style. |
support_table |
SupportTableStyle | Attached support_table strip style. |
callout |
CalloutChartStyle | Callout chart-family style for type:callout and runtime fallback cards. |
LayoutStyle¶
Authored overlay for LayoutStyle.
| Field | Type | Description |
|---|---|---|
rows |
LayoutGapStyle | Gap sizing between rows. |
cols |
LayoutGapStyle | Gap sizing between columns. |
grid |
GridLayoutStyle | Grid layout configuration. |
tabs |
TabsStyle | Tabs layout style. |
details |
DetailsStyle | Details (accordion) layout style. |
VariablesStyle¶
Authored overlay for VariablesStyle. Variable controls chrome styling.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show the variables control panel. |
position |
enum: "top", "bottom", "title-inline" | Variables strip placement: stacked under the title (top/bottom) or on one horizontal band with the board title (title-inline). |
title_inline_band_bottom_pad |
float | Bottom padding in pixels added below the title-inline band. |
gap |
float | Gap between variable controls in pixels. |
label_position |
str | Position of labels relative to their input controls (e.g. 'left', 'top'). |
title_inline_title_max_width |
float | When position is title-inline: max title column width in px. 0 means no cap (title uses remaining width after reserving space for variables). |
font |
FontStyle | Variables panel base font style overrides. Unset fields fall back to style.font. |
label |
VariablesLabelStyle | Variable label typography. |
value |
VariablesValueStyle | Variable value typography. |
placeholder |
VariablesPlaceholderStyle | Style for unselected/hint text in variable inputs. |
container_height |
float | Height of the variables panel container in pixels. |
border |
BorderStyle | Variables panel border style. |
control_gap |
float | Gap between label and input within a single control in pixels. |
input |
InputStyle | Input control style. |
FooterStyle¶
Authored overlay for FooterStyle. Page footer chrome: visibility, attribution text, font, and rule.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show the footer attribution line. |
text |
str | Attribution text shown in the footer. |
link |
str | URL the footer brand phrase 'dbt charts' links to; null renders plain text. |
font |
FontStyle | Footer text font style (size and color required). Unset fields fall back to style.font. |
y_offset |
float | Vertical offset from bottom edge in pixels. |
rule |
FooterRule | Hairline rule above footer text; null disables the rule. |
TimestampStyle¶
Authored overlay for TimestampStyle. Authored data-freshness chrome: visibility, placement, strftime format, font, and y-offset.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show the data-freshness line. |
position |
enum: "top", "footer" | Timestamp row: top page chrome or footer baseline. |
align |
enum: "left", "right" | Timestamp horizontal alignment within its row. |
format |
str | strftime format for the data-freshness line, including any literal label text (e.g. '%H:%M %Z on %-d %b %Y'). The value is always UTC; a format that prints a clock must disclose the zone (%Z or a literal 'UTC'), else compile rejects it: an unlabeled clock reads as local. |
y |
float | Y-coordinate for top-positioned timestamp in pixels. |
font |
FontStyle | Timestamp font style overrides (size, color, weight, ...). Unset fields fall back to style.font. |
FormatConfig¶
Format configuration for value display.
| Field | Type | Description |
|---|---|---|
spec |
str | D3 format string (e.g., ',.0f'), preset name (e.g., 'currency'), or Excel pattern. |
prefix |
str | Text placed before the formatted value (e.g., '$'). |
suffix |
str | Text placed after the formatted value (e.g., ' USD', '%'). |
notation |
enum: "analytic", "narrative" | Notation style: 'analytic' for SI-prefix (1 B, 1 M) or 'narrative' for prose-style (1bn, 1mn). |
sign_placement |
enum: "before_prefix", "after_prefix" | Where a negative sign sits against the prefix: 'before_prefix' (−€500) or 'after_prefix' (EUR −500). Unset: after_prefix when the prefix ends in a space or paints on one value only, else before_prefix. Table columns keep the sign with the digits and reject it. |
repeat |
enum: "every", "anchor" | Whether the prefix/suffix paints on 'every' value of an axis, table column or support_table row, or on one 'anchor' value. Unset keeps each surface's default. Single-value slots ignore it. |
NamedFont¶
A style.fonts registry entry: a font other slots reference by name.
| Field | Type | Description |
|---|---|---|
extends |
str | Name of a style.fonts entry this slot starts from; the fields set beside it override that entry. |
family |
str | Font family name (e.g., 'sans-serif', 'Roboto'). |
color |
str | Text color as a CSS color string. |
size |
float | Font size in pixels. |
weight |
str | float | How heavy the type is drawn (e.g., 'bold', 400, 700). |
style |
enum: "normal", "italic" | Upright or slanted type (normal or italic). |
decoration |
enum: "none", "line-through", "underline" | Line drawn on the text (underline, line-through, or none). |
case |
enum: "none", "sentence", "title", "upper", "lower", "slug", "camel" | Letter-case transform applied at render time. 'title' uses Chicago/Gruber rules and preserves tokens with internal capitals (ARR, iPhone). 'sentence' uppercases only the first character. 'none' (default) emits the string without any letter-case change. |
line_height |
float | Line height as a unitless multiple of font size. Cascades through Style.font to all text roles that carry a FontStyle slot. Body prose defaults to 1.25; titles override tighter via their font patch in theme YAML. |
sizes |
list[float] | The H1–H6 heading ramp (six sizes, indexed by heading level - 1). Valid only on the heading font. |
KpiTonesStyle¶
Authored overlay for KpiTonesStyle. Semantic tone palette shared by the KPI support row and table conditional glyphs.
| Field | Type | Description |
|---|---|---|
positive |
str | Color for positive/good tone indicators. |
negative |
str | Color for negative/bad tone indicators. |
warning |
str | Color for warning/caution tone indicators. |
info |
str | Color for neutral/informational tone indicators. |
SpacingValues¶
Pre-parsed CSS spacing (margin/padding).
| Field | Type | Description |
|---|---|---|
top |
float | Top spacing in pixels. |
right |
float | Right spacing in pixels. |
bottom |
float | Bottom spacing in pixels. |
left |
float | Left spacing in pixels. |
ChartSupportTableSource¶
A support_table row that reads a column's raw per-x value.
Required
| Field | Type | Description |
|---|---|---|
source |
str | Query column the row reads from (per-x raw value). |
Optional
| Field | Type | Description |
|---|---|---|
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | D3 format string or format config object. Optional; inherits the chart measure format when omitted and source matches chart.y. |
label |
str | Left-stub row label. Optional. |
ChartSupportTableAggregate¶
A support_table row that reads an aggregate of a column grouped by x.
Required
| Field | Type | Description |
|---|---|---|
aggregate |
enum: "sum", "avg", "min", "max", "median", "count", "count_distinct" | Aggregate operation applied per x-group. One of: sum, avg, min, max, median, count, count_distinct. Exact names only: no aliases (spec G4). |
source |
str | Query column being aggregated. Always required alongside aggregate: (spec G2). |
Optional
| Field | Type | Description |
|---|---|---|
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | D3 format string or format config object for the aggregated value. Optional. |
label |
str | Column header label override for this row. |
ChartSupportTablePerSeries¶
A support_table entry that expands into one row per color: series.
Required
| Field | Type | Description |
|---|---|---|
per_series |
str | Query column the row reads from (per-x, per-series value). |
Optional
| Field | Type | Description |
|---|---|---|
by_measure |
bool | When True, expand one row reading the named measure field directly (no color: groupby). Required for multi-y charts where each measure is its own y-field rather than a color-encoded series. |
label |
str | Row label displayed in the strip's label gutter. When None and by_measure=True, the per_series column name is used. Has no effect when by_measure=False (series name is the label). |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | D3 format string or format config object. Optional. |
QuantitativeAxisStyle¶
Authored overlay for QuantitativeAxisStyle. Scale-type overlay for quantitative axes. Theme slot: axis_quantitative.
| Field | Type | Description |
|---|---|---|
grid |
BaseAxisGridStyle | Grid line style for this axis. |
line |
AxisLineStyle | Domain line style for this axis. |
ticks |
AxisTicksStyle | Tick mark style for this axis. |
labels |
AxisLabelStyle | Axis label style. |
title |
AxisTitleStyle | Axis title style. |
scale |
BaseScaleStyle | Per-axis scale overrides; None means no override. |
LegendStyle¶
Authored overlay for LegendStyle.
| Field | Type | Description |
|---|---|---|
direction |
enum: "horizontal", "vertical" | Legend layout direction. Omit to infer it from the edge: horizontal on top/bottom, vertical on left/right. |
columns |
int | Legend entry columns. Zero keeps the renderer default; positive values set Vega-Lite legend columns. |
compact_columns |
int | Entry columns when a horizontal legend wraps: the automatic compact top legend, or an inferred-horizontal legend too wide for one row. |
label |
LegendLabelStyle | Legend label style. |
title |
LegendTitleStyle | Legend title style. |
visible |
bool | Show the legend. None = legend visible; False = explicitly suppressed. |
symbol_limit |
int | Maximum number of legend entries to display; maps to VL symbolLimit. None uses Vega-Lite's default (no cap). Set to a positive integer to prevent legend overflow on high-cardinality series. |
values |
list[str] | Explicit legend entry order/filter; each entry resolves against the real legend domain by its rendered text or its column/measure name (case/separator-insensitive). None lets the renderer infer order from the data. |
symbol_shape |
str | Override the legend glyph shape; maps to VL legend.symbolType. None uses the mark-aware glyph derived from the chart's mark type. |
symbol_fill |
bool | When False, emits symbolFillColor='transparent' to produce a hollow legend glyph. None uses Vega-Lite's default (filled symbol). |
position |
LegendPositionStyle | Legend placement: edge, align along the edge, overlay or reserve. |
PaddingStyle¶
Authored overlay for PaddingStyle. Per-chart padding inset (px). All 4 sides required; theme YAML supplies defaults.
| Field | Type | Description |
|---|---|---|
left |
float | Left padding in pixels. |
right |
float | Right padding in pixels. |
top |
float | Top padding in pixels. |
bottom |
float | Bottom padding in pixels. |
ColorStyle¶
Authored overlay for ColorStyle. Unified chart color config: static paint, categorical palette, gradient scale.
| Field | Type | Description |
|---|---|---|
static |
str | One explicit color: the marks on most families when no color column is encoded, the cell text on a table. |
gradient |
ScaleTargetConfig | Continuous gradient scale for the color encoding. |
categorical |
CategoricalColorStyle | Palettes used when color encodes distinct categories, or a lone series. |
BaseAxisStyle¶
Authored overlay for BaseAxisStyle. Universal axis surface: grid/line/ticks/labels/title/scale.
| Field | Type | Description |
|---|---|---|
grid |
BaseAxisGridStyle | Grid line style for this axis. |
line |
AxisLineStyle | Domain line style for this axis. |
ticks |
AxisTicksStyle | Tick mark style for this axis. |
labels |
AxisLabelStyle | Axis label style. |
title |
AxisTitleStyle | Axis title style. |
scale |
BaseScaleStyle | Per-axis scale overrides; None means no override. |
AxisXStyle¶
Authored overlay for AxisXStyle. Dimension/category-time axis style. Theme slot: axis_x.
| Field | Type | Description |
|---|---|---|
grid |
BaseAxisGridStyle | Grid line style for this axis. |
line |
AxisLineStyle | Domain line style for this axis. |
ticks |
DimensionTicksStyle | Dimension axis tick style. |
labels |
DimensionLabelStyle | Dimension axis label style. |
title |
AxisTitleStyle | Axis title style. |
scale |
XScaleStyle | X-axis scale overrides including x_reverse; None means no override. |
position |
enum: "top", "bottom" | X-axis position; None uses Vega-Lite's default (bottom). |
time_unit |
enum: "auto", "year", "yearquarter", "yearmonth", "yearweek", "yearmonthdate", "monthofyear", "dayofweek", "dayofmonth", "dayofyear", "hourofday", "none" | Time-unit bucketing for temporal x-axes; None or 'auto' auto-detects from data. |
type |
enum: "auto", "ordinal", "temporal" | Scale type for bucketed-time x-axes; None/'auto' infers from time_unit grain. |
fill |
enum: "null", "zero", "linear", "step-after", "step-before", "step-center", "curve" | Fill for synthesized missing-bucket rows: null, zero, linear, step-after / step-before / step-center (Looker step), or curve (smoothstep). |
fiscal_year_start_month |
int | Calendar month (1=Jan..12=Dec) that opens a fiscal year/quarter for year/yearquarter bucketing; theme default 1 is the calendar convention (Q1=Jan-Mar). A non-default value always wins over axis_x.type: temporal for year/yearquarter grains - Vega-Lite's native timeUnit transform has no fiscal-offset concept and would otherwise silently discard the offset. |
AxisYStyle¶
Authored overlay for AxisYStyle. Measure axis style. Theme slot: axis_y.
| Field | Type | Description |
|---|---|---|
grid |
BaseAxisGridStyle | Grid line style for this axis. |
line |
AxisLineStyle | Domain line style for this axis. |
ticks |
AxisTicksStyle | Tick mark style for this axis. |
labels |
AxisLabelStyle | Axis label style. |
title |
AxisTitleStyle | Axis title style. |
scale |
BaseScaleStyle | Per-axis scale overrides; None means no override. |
position |
enum: "left", "right", "auto" | Y-axis position; auto flips when endpoint labels are on the right. |
mirror |
bool | AxisMirrorStyle | Draw the y-scale on both left and right edges (wide charts). true mirrors the primary axis's label verbatim; an object (format/expr) relabels only the mirrored edge (e.g. a percent-of-total right axis next to an absolute-value left axis) while ticks stay aligned to the single shared scale. Only meaningful on axis_y. |
BandAxisStyle¶
Authored overlay for BandAxisStyle. Scale-type overlay for band (categorical) axes. Theme slot: axis_band.
| Field | Type | Description |
|---|---|---|
grid |
BaseAxisGridStyle | Grid line style for this axis. |
line |
AxisLineStyle | Domain line style for this axis. |
ticks |
AxisTicksStyle | Tick mark style for this axis. |
labels |
AxisLabelStyle | Axis label style. |
title |
AxisTitleStyle | Axis title style. |
scale |
BaseScaleStyle | Per-axis scale overrides; None means no override. |
band_position |
float | Band position within the step (0–1); None uses Vega-Lite's default. |
SupportTableStyle¶
Authored overlay for SupportTableStyle. Attached support_table style. Lives at style.charts.support_table.*.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Support_table font style overrides. Unset fields fall back to style.charts.font. |
divider |
RuleStyle | Rule at the boundary between the chart plot and the data strip. For position='bottom': rule sits above the strip (below the axis). For position='top': rule sits below the strip rows (above the plot top). |
row |
SupportTableRowStyle | Support_table row padding and rule style. |
label |
SupportTableLabelStyle | Row label (series name) style. |
padding_top |
float | Padding above the topmost strip row in pixels. For position='bottom': gap between axis labels and the first row. For position='top': space above the topmost row (outer edge of strip). |
padding_bottom |
float | Padding below the last strip row in pixels. For position='bottom': space below the last row. For position='top': gap between the last row and the plot top edge. |
label_max_lines |
int | Number of x-axis label lines to reserve in the axis gap (only used for position='bottom'; ignored for position='top'). Typically 1 or 2. |
position |
enum: "top", "bottom", "left", "right" | Strip placement relative to the chart plot. 'top'/'bottom' apply when the chart's category axis is horizontal (vertical bar, line, area): 'top' places the strip above the plot, 'bottom' places it below with the x-axis between plot and strip. 'left'/'right' apply when the category axis is vertical (a horizontal bar): the strip renders as value columns beside the plot instead of rows above or below it. Left unset, 'top' is used on a horizontal category axis and the side the category labels are on is used on a vertical one. |
EndpointLabelsConfig¶
Authored overlay for EndpointLabelsConfig. Series names printed on the chart itself instead of in a legend.
| Field | Type | Description |
|---|---|---|
visible |
bool | Print series names on the chart instead of in a legend. True on every built-in theme, and used wherever the shape can name every series: line and area charts, and stacked bars. Grouped bars, layered charts, small multiples, and very narrow cards keep a legend instead. Set false to move the names back into a legend everywhere. Where the labels do appear they replace the color legend, so this setting and not legend is what removes them. |
label_offset |
float | Gap in pixels between the plot and the series labels. |
height |
float | Height in pixels of the label strip above a horizontal stacked bar. |
BarChartMarksStyle¶
Authored overlay for BarChartMarksStyle. Bar-family mark overrides. Only bar and text (endpoint labels) are valid.
| Field | Type | Description |
|---|---|---|
bar |
BarMarkStyle | Bar mark overrides for bar charts; inherits from global. |
text |
TextMarkStyle | Text mark overrides for bar endpoint labels; inherits from global. |
LayerAxisYStyle¶
Per-layer y-axis settings on a layered chart.
| Field | Type | Description |
|---|---|---|
position |
enum: "left", "right" | Y-axis side for this layer (left or right). |
title |
str | Title on this layer's own y axis; defaults to the layer's label. |
scale |
LayerAxisYScale | Scale options for this layer's y axis, holding the [min, max] domain. |
ticks |
LayerAxisYTicks | Tick options for this layer's y axis, holding the target count. |
grid |
LayerAxisYGrid | Grid options for this layer's y axis, holding its visibility. |
labels |
LayerAxisYLabels | Tick-label options for this layer's y axis, holding the number format. |
BarLayerStyle¶
Authored overlay for BarLayerStyle. Required wrapper for bar-layer mark overrides (built into a Patch by build_patch_model).
| Field | Type | Description |
|---|---|---|
marks |
BarChartMarksStyle | Mark overrides for this bar layer. |
LineLayerStyle¶
Authored overlay for LineLayerStyle. Required wrapper for line-layer mark overrides (built into a Patch by build_patch_model).
| Field | Type | Description |
|---|---|---|
marks |
LineChartMarksStyle | Mark overrides for this line layer. |
AreaLayerStyle¶
Authored overlay for AreaLayerStyle. Required wrapper for area-layer mark overrides (built into a Patch by build_patch_model).
| Field | Type | Description |
|---|---|---|
marks |
AreaChartMarksStyle | Mark overrides for this area layer. |
ScatterLayerStyle¶
Authored overlay for ScatterLayerStyle. Required wrapper for scatter-layer mark overrides (built into a Patch by build_patch_model).
| Field | Type | Description |
|---|---|---|
marks |
ScatterChartMarksStyle | Mark overrides for this scatter layer. |
LineChartMarksStyle¶
Authored overlay for LineChartMarksStyle. Line-family mark overrides.
| Field | Type | Description |
|---|---|---|
line |
LineMarkStyle | Line mark overrides; inherits from global. |
point |
PointMarkStyle | Point mark overrides; inherits from global. |
text |
TextMarkStyle | Text mark overrides; inherits from global. |
rule |
RuleMarkStyle | Rule mark overrides; None inherits global. |
AreaChartMarksStyle¶
Authored overlay for AreaChartMarksStyle. Area-family mark overrides.
| Field | Type | Description |
|---|---|---|
area |
AreaMarkStyle | Area fill mark overrides; inherits from global. |
line |
AreaLineStyle | Top-edge line stroke/halo/label overrides; inherits from global. |
point |
PointMarkStyle | Point-overlay mark overrides; inherits from global. |
ScatterChartMarksStyle¶
Authored overlay for ScatterChartMarksStyle. Scatter-family mark overrides.
| Field | Type | Description |
|---|---|---|
point |
PointMarkStyle | Point mark overrides; inherits from global. |
text |
TextMarkStyle | Text mark overrides; inherits from global. |
HeatmapChartMarksStyle¶
Authored overlay for HeatmapChartMarksStyle. Heatmap-family mark overrides.
| Field | Type | Description |
|---|---|---|
rect |
RectMarkStyle | Rect mark overrides; inherits from global. |
text |
TextMarkStyle | Text mark overrides; None inherits global. |
PieLegendStyle¶
Authored overlay for PieLegendStyle.
| Field | Type | Description |
|---|---|---|
direction |
enum: "horizontal", "vertical" | Legend layout direction. Omit to infer it from the edge: horizontal on top/bottom, vertical on left/right. |
columns |
int | Legend entry columns. Zero keeps the renderer default; positive values set Vega-Lite legend columns. |
compact_columns |
int | Entry columns when a horizontal legend wraps: the automatic compact top legend, or an inferred-horizontal legend too wide for one row. |
label |
LegendLabelStyle | Legend label style. |
title |
LegendTitleStyle | Legend title style. |
visible |
bool | Show the legend. None = legend visible; False = explicitly suppressed. |
symbol_limit |
int | Maximum number of legend entries to display; maps to VL symbolLimit. None uses Vega-Lite's default (no cap). Set to a positive integer to prevent legend overflow on high-cardinality series. |
values |
list[str] | Explicit legend entry order/filter; each entry resolves against the real legend domain by its rendered text or its column/measure name (case/separator-insensitive). None lets the renderer infer order from the data. |
symbol_shape |
str | Override the legend glyph shape; maps to VL legend.symbolType. None uses the mark-aware glyph derived from the chart's mark type. |
symbol_fill |
bool | When False, emits symbolFillColor='transparent' to produce a hollow legend glyph. None uses Vega-Lite's default (filled symbol). |
position |
PiePositionStyle | Pie key placement: edge and align along it. |
TotalStyle¶
Authored overlay for TotalStyle. Donut center total paint: value (the number) and label (the caption).
| Field | Type | Description |
|---|---|---|
value |
TotalValueSlotStyle | Style for the donut center value (the number), including its format. |
label |
TotalSlotStyle | Style for the donut center label (the caption). |
PieChartMarksStyle¶
Authored overlay for PieChartMarksStyle. Pie/donut-family mark overrides.
| Field | Type | Description |
|---|---|---|
slice |
SliceMarkStyle | Slice mark overrides; inherits from global. |
text |
TextMarkStyle | Text mark overrides; None inherits global. |
ConditionalRule¶
A single conditional formatting rule.
| Field | Type | Description |
|---|---|---|
eq |
Any | Match rows where the column value equals this value. |
ne |
Any | Match rows where the column value does not equal this value. |
lt |
int | float | Match rows where the column value is less than this number. |
lte |
int | float | Match rows where the column value is less than or equal to this number. |
gt |
int | float | Match rows where the column value is greater than this number. |
gte |
int | float | Match rows where the column value is greater than or equal to this number. |
between |
list[int | float] | Match rows where the column value falls in [low, high] (inclusive). |
in |
list[Any] | Match rows where the column value is in this list. |
is_null |
bool | Match null rows (true) or non-null rows (false). |
default |
const: true | Catch-all rule that matches any row not matched by earlier rules. Must be the last entry. |
background |
str | Cell background color applied when the rule matches. |
font |
FontStyle | Font style overrides (color, weight, style, decoration) applied when the rule matches. |
glyph |
str | Text shown before the cell value when the rule matches. |
glyph_color |
str | Color for the glyph when the rule matches. Requires glyph to be set. |
tone |
enum: "positive", "negative", "warning", "info" | Semantic tone (positive|negative|warning|info) that colors the glyph via the theme's tone palette; the preferred, theme-adaptive alternative to a raw glyph_color. Requires glyph. Explicit glyph_color wins. |
FontStyle¶
Text appearance. Merged as a unit.
| Field | Type | Description |
|---|---|---|
extends |
str | Name of a style.fonts entry this slot starts from; the fields set beside it override that entry. |
family |
str | Font family name (e.g., 'sans-serif', 'Roboto'). |
color |
str | Text color as a CSS color string. |
size |
float | Font size in pixels. |
weight |
str | float | How heavy the type is drawn (e.g., 'bold', 400, 700). |
style |
enum: "normal", "italic" | Upright or slanted type (normal or italic). |
decoration |
enum: "none", "line-through", "underline" | Line drawn on the text (underline, line-through, or none). |
case |
enum: "none", "sentence", "title", "upper", "lower", "slug", "camel" | Letter-case transform applied at render time. 'title' uses Chicago/Gruber rules and preserves tokens with internal capitals (ARR, iPhone). 'sentence' uppercases only the first character. 'none' (default) emits the string without any letter-case change. |
line_height |
float | Line height as a unitless multiple of font size. Cascades through Style.font to all text roles that carry a FontStyle slot. Body prose defaults to 1.25; titles override tighter via their font patch in theme YAML. |
KpiValueStyle¶
Authored overlay for KpiValueStyle. KPI headline value slot: font and format. Theme populates font.size directly.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Headline value font. Unset fields fall back to style.charts.kpi.font (except color). |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Format for the KPI headline value: D3 format string, preset name, or FormatConfig object. A date value defaults to date_short when unformatted. |
KpiSlotStyle¶
Authored overlay for KpiSlotStyle. KPI per-slot style for label, affix, and glyph slots.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Slot font style. Unset fields fall back to style.charts.kpi.font (except color). |
character |
str | Glyph character to render (e.g. '▲'). None = no glyph. |
StaticGradientColorStyle¶
Authored overlay for StaticGradientColorStyle. Color config for geo/point_map/table families, no categorical arm.
| Field | Type | Description |
|---|---|---|
static |
str | One explicit color: the marks on most families when no color column is encoded, the cell text on a table. |
gradient |
ScaleTargetConfig | Continuous gradient scale for the color encoding. |
TableRuleStyle¶
Authored overlay for TableRuleStyle. Table rule color override block.
| Field | Type | Description |
|---|---|---|
color |
str | Table rule color; None uses the theme default. |
TableColumnsStyle¶
Authored overlay for TableColumnsStyle.
| Field | Type | Description |
|---|---|---|
default_width |
float | Default column width in pixels. |
cell_padding |
float | Horizontal padding inside table cells in pixels. |
width_similarity_threshold |
float | Auto-width columns whose min/max ratio >= this threshold are snapped to a shared width before budget allocation. 1.0 disables clustering; 0.0 forces all auto-columns to equal width. |
content_headroom |
float | Fractional breathing room added above the raw p95 column demand when pinning compact columns in mixed (compact + text) tables. 0.10 means each compact column is pinned at 10 % above its measured demand; the extra width is funded by the text-column budget. Has no effect on all-compact tables (proportional scaling already fills the budget). 0.0 disables headroom. |
TableHeaderStyle¶
Authored overlay for TableHeaderStyle.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show the header row (column labels + rule). Set to False on series-keyed tables where column meanings are obvious from context (e.g. donut-attached tables: swatch / share / name / value). Theme YAML supplies the UX default (true) via _base.yaml. |
height |
float | Header row height in pixels. |
font |
FontStyle | Header font style overrides. Unset fields fall back to style.charts.table.font. |
font_compact |
FontStyle | Compact-tier font overrides applied when body size ≤11px; None means no compact override. |
background |
str | Header background color; None means no fill (rule alone separates header from body). |
overflow |
enum: "clip", "truncate", "wrap-two", "wrap" | What happens to header text too wide for its column (clip, truncate, wrap-two, wrap). |
rule |
RuleStyle | Header bottom rule style. |
TableRowStyle¶
Authored overlay for TableRowStyle.
| Field | Type | Description |
|---|---|---|
height |
float | Body row height in pixels. |
stripe |
TableRowStripeStyle | Alternating row stripe style; None means no stripe. |
rule |
RuleStyle | Row bottom rule style. |
role |
str | Default row role assignment; None means plain body row. |
roles |
TableRowRolesStyle | Per-role style overrides for summary and total rows. |
TableRowNumbersStyle¶
Authored overlay for TableRowNumbersStyle. Leading row-number column (style.table.row_numbers).
| Field | Type | Description |
|---|---|---|
visible |
bool | Show a leading row-number column; false by default. |
header |
str | Header label for the row-number column. |
align |
enum: "left", "right" | Text alignment for the row-number column. |
TableTitleStyle¶
Authored overlay for TableTitleStyle.
| Field | Type | Description |
|---|---|---|
height |
float | Minimum title-block height in pixels. Applies as a floor only when a subtitle is present; a title-only block sizes to its natural content height instead. |
font |
FontStyle | Table title font style overrides. Unset fields fall back to style.charts.table.font. |
PaginationConfig¶
Table pagination configuration.
| Field | Type | Description |
|---|---|---|
enabled |
bool | Enable client-side pagination for table charts. |
page_rows |
int | Rows per page, a ceiling bounded by the tile height. The theme defaults it to 20; null means unlimited (the tile height alone sizes the page). |
TableColumnDefaultsConfig¶
Table-level defaults applied to every column unless overridden per-column.
| Field | Type | Description |
|---|---|---|
label |
str | One header text applied to every column, unless a column sets its own. |
width |
int | str | Override column width in pixels (integer) or a CSS width string. |
align |
enum: "left", "center", "right" | Override cell text alignment (left, center, or right). |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | How values are written in every column, unless a column sets its own. |
background |
str | Override cell background color (CSS color string). |
font |
FontStyle | Override cell font style (size, weight, color, family). |
TableColumnConfig¶
Configuration for a single table column.
| Field | Type | Description |
|---|---|---|
visible |
bool | Whether this column renders. Defaults to true: style.columns is styling only, so naming a column here never hides it or any other column. Set false to hide it while keeping its values available to link: templates and style-input references. A column consumed as a style input (another column's background / font.color / font.weight names it) is hidden automatically unless it has its own style.columns entry; an explicit entry is a display signal and the column renders. |
label |
str | Display header label (defaults to column name). |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | How the number is written: a D3 spec, a preset name, or a format block. |
spark |
SparkConfig | enum: "line", "area", "bar", "bar-normalize", "column", "columns" | Miniature chart drawn inside each cell: a type name, or a full block. |
swatch |
bool | When True, render this column's cells as small rounded color squares instead of text. Cell value must be a CSS color string (e.g. '#3164a3'). Useful for series-keyed tables, e.g. a 'Series' column where each row is identified by its color in the parent chart's palette. |
width |
int | str | Column width (integer pixels or CSS string like '10%'). |
max_width |
int | str | Maximum column width for auto-sized text columns (integer pixels or CSS string like '30%'). Cannot be set together with width:. |
align |
enum: "left", "center", "right" | Text alignment in cells (left, center, right). |
header_overflow |
enum: "clip", "truncate", "wrap-two", "wrap" | What happens to header text too wide for its column (clip, truncate, wrap-two, wrap). |
header_link |
str | URL template that makes the column header clickable. |
link |
str | URL template for cell values (Jinja template with row fields available). |
background |
str | Cell background color (hex string, or 'transparent'/'none'), or a column ID: a value matching a query column name uses that row's value in the named column instead of the literal string. |
font |
FontStyle | Cell font style overrides. color and weight resolve column-ID-first, the same as background: a value matching a query column name uses that row's value in the named column. |
scale |
ColumnScaleConfig | Continuous color mapping configuration for this column. |
glyph |
str | Text shown before every cell value; fills the same slot as format.prefix and wins over it. |
glyph_color |
str | Color for the glyph. Requires glyph to be set. |
PaginatorStyle¶
Authored overlay for PaginatorStyle. Visual style for the paginator control (chevrons + page numbers).
| Field | Type | Description |
|---|---|---|
color_active |
str | Current page and live chevron color (theme body ink). |
color_inactive |
str | Other pages and ellipsis color (theme secondary text). |
color_disabled |
str | Chevron color when at first/last page (signals disabled by tone). |
font |
FontStyle | Paginator font overrides (size, family). |
weight_active |
int | Font weight for the current (selected) page number. |
weight_inactive |
int | Font weight for other pages and ellipsis. |
weight_chevron |
int | Font weight for the prev/next chevrons (live and disabled). Usually heavier than weight_active so the chevrons read as interactive affordances against the lighter page numbers. |
item_width |
float | Per-item slot width in pixels (drives layout step). |
TableEdgeStyle¶
Authored overlay for TableEdgeStyle. more_rows or empty_state edge-case UI.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Edge-case UI (more_rows / empty_state) font style overrides. Unset fields fall back to style.charts.table.font. |
SparkStyle¶
Authored overlay for SparkStyle. Inline sparkline defaults (inside table cells).
| Field | Type | Description |
|---|---|---|
color |
str | Sparkline line/point color; None seeds from style.charts.color.categorical.single_series_palette[0]. |
padding |
SpacingValues | Cell padding around the sparkline in pixels. |
empty |
SparkEmptyStyle | Style for empty/no-data sparklines. |
single_value |
SparkSingleValueStyle | Style for single-data-point sparklines. |
columns |
SparkColumnsStyle | Style for column-type sparklines. |
column |
SparkColumnStyle | Style for the single vertical column spark mark. |
bar |
SparkBarCellStyle | Style for bar/bar-normalize sparklines. |
area |
SparkAreaStyle | Style for area sparklines. |
ProjectionStyle¶
Authored overlay for ProjectionStyle. Vega-Lite map projection configuration for geo chart families.
| Field | Type | Description |
|---|---|---|
type |
str | Vega-Lite projection type (e.g. 'mercator', 'albersUsa', 'equalEarth'). |
BasemapStyle¶
Authored overlay for BasemapStyle. Background map layer for geo charts (especially point maps).
| Field | Type | Description |
|---|---|---|
source |
str | Background topo source identifier; None means no base layer. |
PointMapChartMarksStyle¶
Authored overlay for PointMapChartMarksStyle. Point map-family mark overrides.
| Field | Type | Description |
|---|---|---|
point |
PointMarkStyle | Point mark overrides; inherits from global. |
GeoshapeChartMarksStyle¶
Authored overlay for GeoshapeChartMarksStyle. Geoshape-family mark overrides.
| Field | Type | Description |
|---|---|---|
geoshape |
GeoshapeMarkStyle | Geoshape mark overrides; inherits from global. |
CalloutElementStyle¶
Authored overlay for CalloutElementStyle. Font + y_offset for a callout title or message.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Element font style overrides. A color of by_tone is the tone's color. Unset fields fall back to style.charts.font. |
y_offset |
float | Vertical offset from the element's anchor in pixels. |
SparkBarBarStyle¶
Authored overlay for SparkBarBarStyle. Bar geometry sub-block for SparkBarChartStyle.
| Field | Type | Description |
|---|---|---|
height |
float | Height of each bar in pixels. |
padding |
float | Vertical padding between bars in pixels. |
color |
str | Bar fill color; None seeds from style.charts.color.categorical.single_series_palette[0]. |
background |
str | Bar track background color - fill-grade, pinned per theme. |
SparkBarChartLabelStyle¶
Authored overlay for SparkBarChartLabelStyle. Category-label sub-block for SparkBarChartStyle.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show series label text next to bars. |
width |
float | Reserved width for bar label text in pixels. |
SparkBarCountStyle¶
Authored overlay for SparkBarCountStyle. Count-value sub-block for SparkBarChartStyle.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show count/value text next to bars. |
width |
float | Reserved width for bar count text in pixels. |
CornerStyle¶
Authored overlay for CornerStyle. Corner rounding only, for a slot whose renderer never draws a stroke.
| Field | Type | Description |
|---|---|---|
radius |
float | Corner radius in pixels. |
SubtitleStyle¶
Authored overlay for SubtitleStyle. Subtitle font style for chart subtitles (Table, SparkBar).
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Subtitle font style; theme populates font.size directly. |
TitleWidthOffsetsStyle¶
Authored overlay for TitleWidthOffsetsStyle. Additive level offsets applied to a board/chart title's heading level, by card pixel width.
| Field | Type | Description |
|---|---|---|
tiny |
int | Level offset for the tiny tier (cards narrower than ~360px). |
narrow |
int | Level offset for the narrow tier (cards ~360–559px). |
medium |
int | Level offset for the medium tier (cards ~560–1099px). |
wide |
int | Level offset for the wide tier (cards ~1100px and up). |
TitlePositionStyle¶
Authored overlay for TitlePositionStyle. Vega-Lite title positioning pass-throughs grouped as a sub-object.
| Field | Type | Description |
|---|---|---|
anchor |
str | Title anchor position; theme always sets this. |
angle |
float | Title rotation angle in degrees; None lets Vega-Lite choose. |
offset |
float | Title offset from its anchor in pixels; None uses Vega-Lite's default. |
baseline |
str | Title text baseline alignment; None uses Vega-Lite's default. |
TitleSubtitleStyle¶
Authored overlay for TitleSubtitleStyle. VL subtitle font pass-through, grouped for consistency with TitleStyle.font.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Subtitle font style overrides (color, family, size, weight). Unset fields fall back to style.font. |
overflow |
enum: "clip", "truncate", "wrap-two", "wrap" | Text overflow mode for the subtitle (clip, truncate, wrap-two, wrap). None means not set at this cascade level (theme floor is wrap-two). |
BlockMarginStyle¶
Authored overlay for BlockMarginStyle. Top and bottom margin for a prose block role, in line-height units.
| Field | Type | Description |
|---|---|---|
margin_top |
float | Space above the block, in line-height units (lh × font_size × value). |
margin_bottom |
float | Space below the block, in line-height units (lh × font_size × value). |
TextColumnStyle¶
Authored overlay for TextColumnStyle. Author overrides for the column layout of board body text.
| Field | Type | Description |
|---|---|---|
max_number |
int | Ceiling on the column count. The renderer may choose fewer when there is not enough text to fill them. None = no ceiling. |
rule |
ColumnRuleStyle | Vertical rule drawn between columns. None = no rule. |
max_chars |
int | Column text width as a character count, overriding the shipped measure. It caps the text inside a column; a column narrower than this limits the text first. |
TextCodeStyle¶
Authored overlay for TextCodeStyle. Inline and fenced code spans in markdown prose. Box group; mono font by default.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Box text font overrides: full FontStyle (family, color, size, weight, style, decoration, case). |
background |
str | Box background fill. |
border |
BorderStyle | Box border (width, color, radius). |
highlight |
bool | Syntax-highlight fenced markdown code blocks. |
theme |
str | Pygments style name for fenced markdown code tokens. |
TextBlockquoteStyle¶
Authored overlay for TextBlockquoteStyle. Blockquote prose. Box group; border is the left rule.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Box text font overrides: full FontStyle (family, color, size, weight, style, decoration, case). |
background |
str | Box background fill. |
border |
BorderStyle | Box border (width, color, radius). |
TextBoldStyle¶
Authored overlay for TextBoldStyle. Inline bold text runs in markdown prose, distinct from heading weight.
| Field | Type | Description |
|---|---|---|
weight |
str | float | CSS font-weight for bold text runs and bold table cells. |
TextRuleStyle¶
Authored overlay for TextRuleStyle. Horizontal rules in markdown prose: --- and markdown-table gridlines.
| Field | Type | Description |
|---|---|---|
color |
str | Color of markdown horizontal rules and markdown-table gridlines. |
PlaceholderOverlay¶
Authored overlay for PlaceholderOverlay.
| Field | Type | Description |
|---|---|---|
text |
str | Placeholder overlay text shown on empty charts. |
background |
str | Overlay background color. |
font |
FontStyle | Overlay font style overrides. Unset fields fall back to style.font. |
CategoryColorBinding¶
Value→color assignments for one data field, shared by every chart.
Required
| Field | Type | Description |
|---|---|---|
values |
dict[str, one of: 'category[1]', 'category[2]', 'category[3]', 'category[4]', 'category[5]', 'category[6]', 'category[7]', 'category[8]', 'category[9]', 'category[10]' | str] | Data value → palette token (category[1], dbt-grays.muted) or literal hex. Tokens resolve against the board's theme. |
TooltipStyle¶
Authored overlay for TooltipStyle. Tooltip box style: all cascade keys for the hover bubble.
| Field | Type | Description |
|---|---|---|
format |
str | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Default tooltip value format string; theme always provides this. |
background |
str | Tooltip background color (CSS color string); theme always provides this. |
line_height |
float | Tooltip line-height multiplier; theme always provides this. |
max_width |
float | Maximum tooltip width in pixels; theme always provides this. |
gap |
float | Gap in pixels between label and value columns; theme always provides this. |
font |
FontStyle | Tooltip font overrides (size etc.); cascade fills missing fields. Unset fields fall back to style.charts.font. |
padding |
PaddingStyle | Tooltip inner padding (4 sides in pixels); theme always provides this. |
label |
TooltipSlotStyle | Label-column font overrides (color, weight). |
value |
TooltipSlotStyle | Value-column font overrides (color, weight). |
border |
TooltipBorderStyle | Tooltip border style; theme always provides this. |
shadow |
TooltipShadowStyle | Tooltip drop-shadow config; theme always provides this. |
swatch |
TooltipSwatchStyle | Series color swatch size/shape; theme always provides this. |
active_marker |
enum: "fill", "triangle" | How the hovered row is marked in a multi-row (x-unified) tooltip: 'fill' tints the row background (default); 'triangle' draws an edge-flush wedge in the box's left padding instead. Theme always provides this. |
HoverEmphasisStyle¶
Authored overlay for HoverEmphasisStyle. Whether a chart visually answers "what am I pointing at", beyond the tooltip.
| Field | Type | Description |
|---|---|---|
visible |
bool | Whether hovering a mark visually emphasizes it; theme always provides this. |
drop_line_color |
str | Color of the vertical drop line from a hovered line/area datum down to its axis. |
drop_line_width |
float | Width, in pixels, of the vertical drop line from a hovered line/area datum down to its axis. |
ViewStyle¶
Authored overlay for ViewStyle.
| Field | Type | Description |
|---|---|---|
stroke |
str | Plot area border stroke color; None means no border. |
continuous_width |
float | Default plot width for continuous (quantitative) scales in pixels. |
continuous_height |
float | Default plot height for continuous (quantitative) scales in pixels. |
discrete_width |
float | Default plot width for discrete (ordinal/nominal) scales in pixels; None means auto. |
discrete_height |
float | Default plot height for discrete (ordinal/nominal) scales in pixels; None means auto. |
GlobalMarksStyle¶
Authored overlay for GlobalMarksStyle. Global mark defaults: one MarkStyle per VL mark type.
| Field | Type | Description |
|---|---|---|
bar |
BarMarkStyle | Global bar mark defaults. |
line |
LineMarkStyle | Global line mark defaults. |
area |
AreaMarkStyle | Global area mark defaults. |
point |
PointMarkStyle | Global point mark defaults. |
slice |
SliceMarkStyle | Global slice (arc/pie) mark defaults. |
text |
TextMarkStyle | Global text mark defaults. |
rule |
RuleMarkStyle | Global rule mark defaults. |
rect |
RectMarkStyle | Global rect mark defaults. |
circle |
CircleMarkStyle | Global circle mark defaults. |
geoshape |
GeoshapeMarkStyle | Global geoshape mark defaults. |
HistogramChartStyle¶
Authored overlay for HistogramChartStyle. Histogram chart style.
| Field | Type | Description |
|---|---|---|
axis_quantitative |
QuantitativeAxisStyle | Per-chart-type quantitative-axis overrides; None inherits the global axis_quantitative at render. |
title |
TitleStyle | Chart-level title style override; None inherits the theme title style. |
legend |
LegendStyle | Chart legend style. |
preferred_width |
float | Preferred chart width in pixels. Falls back to style.charts.preferred_width. |
padding |
PaddingStyle | Per-chart-type padding override; 4 sides in pixels. Unset fields fall back to style.charts.padding. |
background |
str | Chart-local background color override; None inherits from theme. |
aspect_ratio |
float | Chart aspect ratio (width/height). Falls back to style.charts.aspect_ratio. |
min_height |
float | Minimum chart height in pixels. Falls back to style.charts.min_height. |
max_height |
float | Maximum chart height in pixels. Falls back to style.charts.max_height. |
color |
ColorStyle | Chart color: static mark paint, categorical palette, and/or gradient scale. |
axis |
BaseAxisStyle | Override applied to both x and y axes; None inherits the global axis at render. |
axis_x |
AxisXStyle | Per-chart-type x-axis style overrides; None inherits the global axis_x at render. |
axis_y |
AxisYStyle | Per-chart-type y-axis style overrides; None inherits the global axis_y at render. |
axis_band |
BandAxisStyle | Per-chart-type categorical (band) axis overrides; None inherits the global band axis at render. |
number_format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "year" | Default number format for axes and tooltips (D3 format string); None inherits from theme. |
time_format |
str | enum: "date_short", "time_short" | Default time format for temporal axes (D3 time format string or strftime spec like '%b %Y'); None inherits from theme. |
support_table |
SupportTableStyle | Per-chart-type support_table style override. Unset fields fall back to style.charts.support_table. |
bin_maxbins |
int | Maximum number of bins for auto-binning. |
marks |
HistogramChartMarksStyle | Histogram-family mark overrides. Unset fields fall back to style.charts.marks. |
SeriesLabelStyle¶
Authored overlay for SeriesLabelStyle. Series-label primitive: typography for any text mark that names a
| Field | Type | Description |
|---|---|---|
font |
SeriesLabelFontStyle | Series label font style overrides; cascade fills missing fields from charts.font. Unset fields fall back to style.charts.font. |
LayoutGapStyle¶
Authored overlay for LayoutGapStyle.
| Field | Type | Description |
|---|---|---|
gap |
float | Gap between layout items in pixels. |
GridLayoutStyle¶
Authored overlay for GridLayoutStyle.
| Field | Type | Description |
|---|---|---|
columns |
int | Number of columns in the grid layout. |
gap |
float | Gap between grid cells in pixels. |
TabsStyle¶
Authored overlay for TabsStyle.
| Field | Type | Description |
|---|---|---|
bar_height |
float | Tab bar height in pixels. |
border |
BorderStyle | Tab bar border style. |
font |
FontStyle | Tab label font style overrides. Unset fields fall back to style.font. |
active_weight |
str | Font weight for the active tab label. |
inactive_weight |
str | Font weight for inactive tab labels. |
title_baseline_offset |
float | Vertical offset to align SVG tab label baseline in pixels. |
DetailsStyle¶
Authored overlay for DetailsStyle.
| Field | Type | Description |
|---|---|---|
summary_height |
float | Height of the details summary (collapsed) row in pixels. |
border |
BorderStyle | Details element border style. |
font |
FontStyle | Details summary font style overrides. Unset fields fall back to style.font. |
arrow |
DetailsArrowStyle | Expand/collapse arrow glyph layout and font style. |
label_x |
float | X position of the details summary label text in pixels. |
text_baseline_offset |
float | Vertical offset to align SVG details text baseline in pixels. |
content_y_offset |
float | Y offset of the expanded details content area in pixels. |
VariablesLabelStyle¶
Authored overlay for VariablesLabelStyle. Per-label font substyle for variable controls. Cascades from variables.font.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Variable label font style overrides. Unset fields fall back to style.variables.font. |
VariablesValueStyle¶
Authored overlay for VariablesValueStyle. Per-value font substyle for variable controls. Cascades from variables.font.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Variable value font style overrides. Unset fields fall back to style.variables.font. |
VariablesPlaceholderStyle¶
Authored overlay for VariablesPlaceholderStyle. Per-placeholder font substyle for variable controls.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Variable placeholder-text font style overrides. Unset fields fall back to style.variables.font. |
InputStyle¶
Authored overlay for InputStyle.
| Field | Type | Description |
|---|---|---|
height |
float | Input control height in pixels. |
border |
CornerStyle | Corner rounding for input controls. |
focus_color |
str | Input focus ring color. Falls back to style.accent. |
background |
str | Input background color. |
padding |
SpacingValues | Input inner padding in pixels. |
widths |
InputWidths | Per-input-type default widths. |
range |
RangeDefaults | Range input default min/max/step values. |
FooterRule¶
Authored overlay for FooterRule. Hairline rule above the footer attribution text. None = no rule.
| Field | Type | Description |
|---|---|---|
color |
str | Rule stroke color. |
stroke_width |
float | Rule stroke width in pixels. |
BaseAxisGridStyle¶
Authored overlay for BaseAxisGridStyle. Grid line style for all axis variants.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show grid lines; None inherits from parent axis. |
opacity |
float | Grid line opacity; None uses Vega-Lite's default. |
width |
float | Grid line width in pixels; None uses Vega-Lite's default. |
color |
str | Grid line color; None uses Vega-Lite's default. |
dash |
list[float] | Dash pattern for grid lines; None renders a solid line. |
threshold |
AxisGridThresholdStyle | Threshold-rule gridline style; None inherits from parent axis. |
AxisLineStyle¶
Authored overlay for AxisLineStyle. Axis domain/baseline line style. Renamed from AxisDomainStyle:
| Field | Type | Description |
|---|---|---|
visible |
bool | Show the axis domain line; None inherits from parent axis. |
width |
float | Domain line width in pixels; None uses Vega-Lite's default. |
color |
str | Domain line color; None uses Vega-Lite's default. |
AxisTicksStyle¶
Authored overlay for AxisTicksStyle. Tick marks on an axis: visibility, color, size, and cadence.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show axis ticks; None inherits from parent axis. |
color |
str | Tick color; None uses Vega-Lite's default. |
length |
float | Tick length in pixels; None uses Vega-Lite's default. |
width |
float | Tick stroke width in pixels; None uses Vega-Lite's default. |
offset |
float | Pixel offset of ticks from their default position; None means no offset. |
count |
int | Target number of axis ticks: a target everywhere, never an exact count. On the measure axis (axis_y) the renderer computes an explicit round-numbered ladder of at most this many ticks. On axis_x it passes through as VL's axis.tickCount: a temporal scale honors it closely, a quantitative one rounds to a nearby round-numbered ladder. To name the interval instead of the count, author ticks.step on a quantitative axis_x. An ordinal axis_x has no tick-count concept and ignores this. |
step |
int | Tick interval on axis_x. Alongside ticks.time_unit it is a multiple of that calendar grain (time_unit: year, step: 5 -> a tick every 5 years). On its own it is a numeric interval for a quantitative axis (step: 1000 -> a tick every 1000), and acts as a floor rather than a fixed ladder, so the axis keeps covering the data as its range grows. A bare step on an axis that is not quantitative is an error, not a no-op; axis_y rejects step entirely (set ticks.count there instead). |
AxisLabelStyle¶
Authored overlay for AxisLabelStyle. Axis label: font + padding + VL-passthrough.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Axis element font style overrides. Unset fields fall back to style.charts.font. |
padding |
float | Padding between axis labels and ticks in pixels; None inherits from parent axis. |
max_width |
float | Maximum label width in pixels; None uses Vega-Lite's default (180px). |
angle |
float | Label rotation angle in degrees; None uses Vega-Lite's default. |
align |
enum: "left", "right", "center", "inward", "outward" | Horizontal text alignment of labels. 'left'/'right'/'center' are absolute. 'inward' hugs the plot (own-side: left on a left axis, right on a right axis); 'outward' hugs away from the plot (Vega-Lite's default growth direction). inward/outward are a no-op on an axis with no left/right edge. None uses Vega-Lite's default. |
overlap |
AxisLabelOverlapConfig | Label overlap strategy enablement. None inherits from the theme cascade. Set individual bools to enable/disable; they are applied in fixed order skip→tilt. On bucketed temporal axes, skip thins label visibility to a coarser calendar period without changing the axis or label time unit. |
min_gap |
float | Minimum pixel gap between labels; None uses Vega-Lite's default (0px). |
visible |
bool | Show axis labels; None uses Vega-Lite's default (labels shown). |
expr |
str | Custom Vega expression for label text; None uses smart temporal defaults when applicable. |
bound |
bool | float | Hide labels that overflow the axis range; None uses Vega-Lite's default. |
flush |
bool | float | Align first/last label flush with the scale range; None uses Vega-Lite's default. |
offset |
float | Pixel offset of the label from its tick anchor; None uses Vega-Lite's default. |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Tick value format string; None uses auto-format. |
AxisTitleStyle¶
Authored overlay for AxisTitleStyle. Axis title typography, deliberately thin. A title is one short static
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Axis title font style overrides. Unset fields fall back to style.charts.font. |
padding |
float | Padding between axis title and labels in pixels; None uses Vega-Lite's default. |
angle |
float | Title rotation angle in degrees; None uses Vega-Lite's default. |
align |
enum: "left", "right", "center", "inward", "outward" | Horizontal text alignment of the title. 'left'/'right'/'center' are absolute. 'inward'/'outward' resolve against the axis's own left/right edge, same as label.align; a no-op on an axis with no left/right edge. None uses Vega-Lite's default. |
visible |
bool | Show the axis title; None uses Vega-Lite's default (title shown). An explicit value you set, on the board or on a single chart, wins over the title an authored x_label/y_label would force on. |
BaseScaleStyle¶
Authored overlay for BaseScaleStyle. Universal + continuous-only scale config.
| Field | Type | Description |
|---|---|---|
round |
bool | Round scale outputs to nearest integer; None uses Vega-Lite's default (no rounding). |
clamp |
bool | Clamp values to scale domain; None uses Vega-Lite's default (no clamping). |
nice |
bool | Round the axis domain to nice values; None uses Vega-Lite's default. Forwards natively to Vega-Lite's scale.nice. |
padding |
float | Unified scale padding shortcut; dispatches to band, point, or continuous padding per scale type. |
headroom |
float | Fractional breathing room at measure-axis edges, exact (never nice-rounded). Zero-anchored axes (bar; line/area/scatter near zero): domain_max = data_max * (1 + headroom). Zoomed axes (line/area/scatter far from zero): both edges expand: domain_max = data_max + headroom * span; domain_min = data_min - headroom * span. None inherits the theme default; 0 disables headroom. Ignored with an explicit domain or stack: normalize. |
values |
list[Any] | Explicit tick values; None uses Vega-Lite's auto tick values. |
continuous |
ScaleContinuousStyle | Continuous-scale overrides (type, domain, zero, log/pow/symlog params); None means no override. |
LegendLabelStyle¶
Authored overlay for LegendLabelStyle.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Legend element font style overrides. Unset fields fall back to style.charts.font. |
padding |
float | Padding between legend symbol and element text in pixels. |
max_width |
float | Maximum label width in pixels; maps to VL labelLimit. None uses Vega-Lite's default. |
LegendTitleStyle¶
Authored overlay for LegendTitleStyle.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Legend element font style overrides. Unset fields fall back to style.charts.font. |
padding |
float | Padding between legend symbol and element text in pixels. |
visible |
bool | Show the legend title; None = shown, False = suppressed (VL legend.title: null). |
LegendPositionStyle¶
Authored overlay for LegendPositionStyle. Cartesian and geo legend placement: edge, align along it, overlay or reserve.
| Field | Type | Description |
|---|---|---|
edge |
enum: "left", "right", "top", "bottom" | Side of the plot the legend sits on. None = the engine decides. |
align |
enum: "start", "center", "end" | Position along the edge. None = the engine decides. |
overlay |
bool | True floats the legend over the plot, reserving no space; False reserves a strip for it. None = the engine decides. |
ScaleTargetConfig¶
Authored overlay for ScaleTargetConfig. Scale configuration for a single style target (background or color).
| Field | Type | Description |
|---|---|---|
palette |
str | list[str] | list[float] | enum: "accent", "bluegreen", "blueorange", "bluepurple", "blues", "brownbluegreen", "browns", "category-6-tonal-blue", "category-6-tonal-blue.dark", "category-6-tonal-blue.deep", "category-6-tonal-blue.light", "category-6-tonal-blue.pale", "category-6-tonal-brown", "category-6-tonal-brown.dark", "category-6-tonal-brown.deep", "category-6-tonal-brown.light", "category-6-tonal-brown.pale", "category-6-tonal-green", "category-6-tonal-green.dark", "category-6-tonal-green.deep", … (120 more; see the JSON Schema) | Which colors the scale draws from: a built-in palette name or Vega scheme, a CSS color list for categorical, or a float list for relative stops. |
domain |
const: "data" | Scale domain source ('data' uses the data extent, widened to nice round bounds when nice is true; None uses explicit min/max). |
min |
float | int | Minimum scale domain value (overrides data minimum). |
max |
float | int | Maximum scale domain value (overrides data maximum). |
nice |
bool | Widen a data-derived domain to round ('nice') bounds and label every nice tick on the legend, mirroring Vega-Lite's own scale.nice. Applies to the color scale a gradient legend labels, not the x/y position scale. Ignored once min or max is set; a single-sided bound already fixes that edge exactly. Widening is currently honored on heatmap's themed color gradient only; geoshape's choropleth honors nice: false (exact endpoint labels) but not nice: true's widening. |
null_color |
str | Color assigned to null values. |
hinge |
float | const: "auto" | Diverging scale midpoint value, or 'auto' to use the data midpoint. |
arm_mode |
enum: "asymmetric", "symmetric" | How diverging scale arms are stretched: 'asymmetric' (proportional) or 'symmetric' (equal arms). |
CategoricalColorStyle¶
Authored overlay for CategoricalColorStyle. Categorical palette config: per-series colors and single-series ink list.
| Field | Type | Description |
|---|---|---|
palette |
str | list[str] | enum: "category-6-tonal-blue", "category-6-tonal-blue.dark", "category-6-tonal-blue.deep", "category-6-tonal-blue.light", "category-6-tonal-blue.pale", "category-6-tonal-brown", "category-6-tonal-brown.dark", "category-6-tonal-brown.deep", "category-6-tonal-brown.light", "category-6-tonal-brown.pale", "category-6-tonal-green", "category-6-tonal-green.dark", "category-6-tonal-green.deep", "category-6-tonal-green.light", "category-6-tonal-green.pale", "category-6-tonal-orange", "category-6-tonal-orange.dark", "category-6-tonal-orange.deep", "category-6-tonal-orange.light", "category-6-tonal-orange.pale", … (53 more; see the JSON Schema) | Categorical color palette: list of stops or a named palette. Expanded to list[str] at validation time. |
single_series_palette |
str | list[str] | enum: "category-6-tonal-blue", "category-6-tonal-blue.dark", "category-6-tonal-blue.deep", "category-6-tonal-blue.light", "category-6-tonal-blue.pale", "category-6-tonal-brown", "category-6-tonal-brown.dark", "category-6-tonal-brown.deep", "category-6-tonal-brown.light", "category-6-tonal-brown.pale", "category-6-tonal-green", "category-6-tonal-green.dark", "category-6-tonal-green.deep", "category-6-tonal-green.light", "category-6-tonal-green.pale", "category-6-tonal-orange", "category-6-tonal-orange.dark", "category-6-tonal-orange.deep", "category-6-tonal-orange.light", "category-6-tonal-orange.pale", … (53 more; see the JSON Schema) | Ordered list of single-series mark inks (must be non-empty when set), or a palette name. |
DimensionTicksStyle¶
Authored overlay for DimensionTicksStyle. axis_x-only: adds the calendar unit that anchors a step cadence.
| Field | Type | Description |
|---|---|---|
visible |
bool | const: "auto" | Show axis ticks. "auto" shows the tick only where the gridlines can't reach all the way to the labels on their own; None inherits from parent axis. |
color |
str | Tick color; None uses Vega-Lite's default. |
length |
float | Tick length in pixels; None uses Vega-Lite's default. |
width |
float | Tick stroke width in pixels; None uses Vega-Lite's default. |
offset |
float | Pixel offset of ticks from their default position; None means no offset. |
count |
int | Target number of axis ticks: a target everywhere, never an exact count. On the measure axis (axis_y) the renderer computes an explicit round-numbered ladder of at most this many ticks. On axis_x it passes through as VL's axis.tickCount: a temporal scale honors it closely, a quantitative one rounds to a nearby round-numbered ladder. To name the interval instead of the count, author ticks.step on a quantitative axis_x. An ordinal axis_x has no tick-count concept and ignores this. |
step |
int | Tick interval on axis_x. Alongside ticks.time_unit it is a multiple of that calendar grain (time_unit: year, step: 5 -> a tick every 5 years). On its own it is a numeric interval for a quantitative axis (step: 1000 -> a tick every 1000), and acts as a floor rather than a fixed ladder, so the axis keeps covering the data as its range grows. A bare step on an axis that is not quantitative is an error, not a no-op; axis_y rejects step entirely (set ticks.count there instead). |
time_unit |
enum: "auto", "year", "yearquarter", "yearmonth", "yearweek", "yearmonthdate", "monthofyear", "dayofweek", "dayofmonth", "dayofyear", "hourofday", "none" | Step-anchored tick cadence unit; None disables step-anchored ticks. |
DimensionLabelStyle¶
Authored overlay for DimensionLabelStyle. AxisLabelStyle + dimension-axis-only label fields.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Axis element font style overrides. Unset fields fall back to style.charts.font. |
padding |
float | Padding between axis labels and ticks in pixels; None inherits from parent axis. |
max_width |
float | Maximum label width in pixels; None uses Vega-Lite's default (180px). |
angle |
float | Label rotation angle in degrees; None uses Vega-Lite's default. |
align |
enum: "left", "right", "center", "inward", "outward" | Horizontal text alignment of labels. 'left'/'right'/'center' are absolute. 'inward' hugs the plot (own-side: left on a left axis, right on a right axis); 'outward' hugs away from the plot (Vega-Lite's default growth direction). inward/outward are a no-op on an axis with no left/right edge. None uses Vega-Lite's default. |
overlap |
AxisLabelOverlapConfig | Label overlap strategy enablement. None inherits from the theme cascade. Set individual bools to enable/disable; they are applied in fixed order skip→tilt. On bucketed temporal axes, skip thins label visibility to a coarser calendar period without changing the axis or label time unit. |
min_gap |
float | Minimum pixel gap between labels; None uses Vega-Lite's default (0px). |
visible |
bool | Show axis labels; None uses Vega-Lite's default (labels shown). |
expr |
str | Custom Vega expression for label text; None uses smart temporal defaults when applicable. |
bound |
bool | float | Hide labels that overflow the axis range; None uses Vega-Lite's default. |
flush |
bool | float | Align first/last label flush with the scale range; None uses Vega-Lite's default. |
offset |
float | Pixel offset of the label from its tick anchor; None uses Vega-Lite's default. |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Tick value format string; None uses auto-format. |
time_unit |
enum: "auto", "year", "yearquarter", "yearmonth", "yearweek", "yearmonthdate", "monthofyear", "dayofweek", "dayofmonth", "dayofyear", "hourofday", "none" | Label cadence for temporal axes; None inherits from the parent axis time_unit. |
clock |
one of: 24, 12 | Sub-day clock register for a continuous temporal x-axis: 24 for the unambiguous, meridiem-free 24-hour clock, or 12 for the 12-hour clock with the Noon/Midnight word vocabulary. None leaves the value to the theme cascade. |
tilt_increments |
list[float] | Descending tilt angles for label overlap resolution on discrete x-axes; None disables tilt. |
values |
list[Any] | Dates to keep label text on, chosen from among the axis's ticks (whatever axis_x.scale.values or the auto-fill cadence already produced): this filters which ticks show text, it does not add or remove ticks. Every tick not in this list keeps its position and gridline but has its label blanked. Set axis_x.scale.values separately to change tick/grid density itself. Temporal x-axes only; not supported on a horizontal bar's categorical axis. None labels every tick as usual. |
XScaleStyle¶
Authored overlay for XScaleStyle. Scale config for axis_x.scale only.
| Field | Type | Description |
|---|---|---|
round |
bool | Round scale outputs to nearest integer; None uses Vega-Lite's default (no rounding). |
clamp |
bool | Clamp values to scale domain; None uses Vega-Lite's default (no clamping). |
nice |
bool | Round the axis domain to nice values; None uses Vega-Lite's default. Forwards natively to Vega-Lite's scale.nice. |
padding |
float | Unified scale padding shortcut; dispatches to band, point, or continuous padding per scale type. |
headroom |
float | Fractional breathing room at measure-axis edges, exact (never nice-rounded). Zero-anchored axes (bar; line/area/scatter near zero): domain_max = data_max * (1 + headroom). Zoomed axes (line/area/scatter far from zero): both edges expand: domain_max = data_max + headroom * span; domain_min = data_min - headroom * span. None inherits the theme default; 0 disables headroom. Ignored with an explicit domain or stack: normalize. |
values |
list[Any] | Explicit tick values; None uses Vega-Lite's auto tick values. |
continuous |
ScaleContinuousStyle | Continuous-scale overrides (type, domain, zero, log/pow/symlog params); None means no override. |
x_reverse |
bool | Reverse the x-axis scale direction; None means no reversal. |
AxisMirrorStyle¶
Per-edge label override for the mirrored axis_y.mirror ghost axis.
| Field | Type | Description |
|---|---|---|
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Tick value format string for the mirrored edge; None reuses the primary axis's format. |
expr |
str | Custom Vega expression for the mirrored edge's label text; None reuses the primary axis's label expression. |
RuleStyle¶
Authored overlay for RuleStyle. Shared rule-line primitive: width, color, continuous mode.
| Field | Type | Description |
|---|---|---|
width |
float | Rule line width in pixels. |
color |
str | Rule color; None inherits from theme. |
continuous |
bool | Draw a continuous full-width rule (true) or only under columns (false). |
SupportTableRowStyle¶
Authored overlay for SupportTableRowStyle.
| Field | Type | Description |
|---|---|---|
padding |
SupportTableRowPaddingStyle | Row padding style. |
rule |
RuleStyle | Row bottom rule style. |
SupportTableLabelStyle¶
Authored overlay for SupportTableLabelStyle. Row label styling.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Row label font style overrides. Unset fields fall back to style.charts.support_table.font. |
BarMarkStyle¶
Authored overlay for BarMarkStyle. Bar mark geometry and stroke. Chart-level bar fields live on BarChartStyle.
| Field | Type | Description |
|---|---|---|
border |
BorderStyle | Bar border style (color/width also serve as the bar stroke). |
padding |
float | Padding around bar marks in pixels. |
size |
float | Bar width in pixels; overrides all other sizing. |
band_width |
float | Bar width as a fraction of the band step (0–1). |
gap |
float | Target pixel gap between adjacent bars on a continuous scale. |
min_size |
float | Narrowest a computed bar width may shrink to on a continuous scale. |
max_size |
float | Widest a computed bar width may grow to on a continuous scale. Also stands in for an unauthored size when reserving axis padding and when budgeting a horizontal bar chart's minimum height. |
opacity |
float | Bar fill opacity (0–1); None uses VL default. |
labels |
BarLabelsStyle | Value label style for bar marks. |
total_label |
BarTotalLabelStyle | Stack total label style. Only takes effect on stacked bar charts; ignored otherwise. |
TextMarkStyle¶
Authored overlay for TextMarkStyle.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Text mark font style overrides. Unset fields fall back to style.charts.font. |
align |
str | Horizontal text alignment for text marks. |
LayerAxisYScale¶
Per-layer y-axis scale patch.
| Field | Type | Description |
|---|---|---|
domain |
list[float] | Explicit [min, max] domain for this layer's y scale. |
LayerAxisYTicks¶
Per-layer y-axis tick patch.
| Field | Type | Description |
|---|---|---|
count |
int | Target number of ticks on this layer's y axis; a target, never an exact count. |
LayerAxisYGrid¶
Per-layer y-axis grid patch.
| Field | Type | Description |
|---|---|---|
visible |
bool | Whether to show grid lines on this layer's y axis. |
LayerAxisYLabels¶
Per-layer y-axis tick-label format patch.
| Field | Type | Description |
|---|---|---|
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | d3 format string for this layer's y-axis tick labels. |
LineMarkStyle¶
Authored overlay for LineMarkStyle. Line mark stroke, interpolation, and halo. Point mark lives on PointMarkStyle.
| Field | Type | Description |
|---|---|---|
stroke |
StrokeStyle | Line stroke style. |
curve |
enum: "linear", "monotone", "natural", "basis", "cardinal", "step", "step-before", "step-after" | Line interpolation curve, one of a fixed set: 'linear', 'monotone', 'natural', 'basis', 'cardinal', 'step', 'step-before', 'step-after'. On a categorical (nominal/ordinal) x-axis, 'step' draws a full-band-width plateau per x-value instead of VL's centered step; on a continuous (temporal/quantitative) x-axis it passes straight through to VL's native step. |
connect |
bool | For curve='step' on a categorical (band) x-axis, whether adjacent band plateaus are joined by vertical jumps (True/None) or left as disconnected segments (False). No-op for other curves or a continuous x-axis. |
disconnected_cap |
enum: "butt", "round", "square" | Stroke line cap for the sub-paths of a disconnected band-step (curve='step' + connect=False on a categorical x-axis). Each band is its own flat path there, so the cap lands on every band edge rather than only the two ends of one continuous line; 'butt' keeps plateaus flush with the band. Overrides stroke.cap in that geometry only; every other line keeps stroke.cap. |
halo_multiplier |
float | Halo stroke width multiplier relative to stroke.width; 0 disables the halo. |
labels |
PointLabelsStyle | Value label style for line marks. |
PointMarkStyle¶
Authored overlay for PointMarkStyle. Point mark style (data-point markers on scatter/point/line/area charts).
| Field | Type | Description |
|---|---|---|
size |
float | Point size in square pixels; 0 disables points on line charts. |
color |
str | Point color; None inherits the series color. |
shape |
str | Point shape (e.g. 'circle', 'square'); None uses VL default. |
opacity |
float | Point opacity 0–1; None uses VL default. |
filled |
bool | Whether points are filled; None uses VL default. |
fill |
str | Point interior fill color; only applied when filled=false. |
stroke_width |
float | Stroke width in pixels for hollow point rings; None uses VL default. |
labels |
PointLabelsStyle | Value label style for point marks. On line charts, setting marks.point.labels is an alias for marks.line.labels. |
RuleMarkStyle¶
Authored overlay for RuleMarkStyle. Rule (reference line) mark opacity and stroke.
| Field | Type | Description |
|---|---|---|
opacity |
float | Mark opacity (0–1); None means not overridden at this level. |
stroke |
FontColorStrokeStyle | Mark stroke style. |
AreaMarkStyle¶
Authored overlay for AreaMarkStyle. Area mark fill opacity and shape.
| Field | Type | Description |
|---|---|---|
opacity |
float | Area fill opacity (0–1). |
curve |
enum: "linear", "monotone", "natural", "basis", "cardinal", "step", "step-before", "step-after" | Area interpolation curve, one of a fixed set: 'linear', 'monotone', 'natural', 'basis', 'cardinal', 'step', 'step-before', 'step-after'. On a categorical (nominal/ordinal) x-axis, 'step' draws a full-band-width plateau per x-value instead of VL's centered step; on a continuous (temporal/quantitative) x-axis it passes straight through to VL's native step. Applied to both the fill and its edge line (marks.line) so they trace the same path. |
backdrop |
bool | Whether to paint an opaque fill backdrop behind the area. |
stacked |
AreaStackedMarkStyle | Recipe override applied when the chart is stacked or has a single series: solid fill + background-color separator stroke. |
AreaLineStyle¶
Authored overlay for AreaLineStyle. Stroke/halo/labels for an area chart's top-edge line and value labels.
| Field | Type | Description |
|---|---|---|
stroke |
StrokeStyle | Area top-edge line stroke style. |
halo_multiplier |
float | Halo stroke width multiplier relative to stroke.width; 0 disables the halo. |
labels |
PointLabelsStyle | Value label style for the area's plotted points; inherits from global. |
RectMarkStyle¶
Authored overlay for RectMarkStyle. Rect mark opacity and stroke.
| Field | Type | Description |
|---|---|---|
opacity |
float | Mark opacity (0–1); None means not overridden at this level. |
stroke |
StrokeStyle | Mark stroke style; None means not overridden at this level. |
PiePositionStyle¶
Authored overlay for PiePositionStyle. Pie key placement: edge and align, never overlay.
| Field | Type | Description |
|---|---|---|
edge |
enum: "left", "right", "top", "bottom" | Side of the wheel the key (legend or attached table) sits on. None = the engine decides. |
align |
enum: "start", "center", "end" | Position of the key along that edge. None = the engine decides. |
TotalValueSlotStyle¶
Authored overlay for TotalValueSlotStyle. Theme slot for the donut center value (the number): paint plus its format.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Donut center total element font style overrides. Unset fields fall back to style.charts.font. |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | How the donut center value is written: a D3 spec, a preset name, or a format block. |
TotalSlotStyle¶
Authored overlay for TotalSlotStyle. Theme slot for one text element of the donut center total.
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Donut center total element font style overrides. Unset fields fall back to style.charts.font. |
SliceMarkStyle¶
Authored overlay for SliceMarkStyle. Pie/donut slice mark: mark-level paint and layout only.
| Field | Type | Description |
|---|---|---|
opacity |
float | Arc slice opacity (0–1); None means not overridden at this level. |
gap |
float | Angular gap between slices in radians. |
corner_radius |
float | Corner radius of arc slices in pixels. |
stroke |
StrokeStyle | Arc slice stroke style. |
labels |
SliceLabelsStyle | Per-slice label style. |
TableRowStripeStyle¶
Authored overlay for TableRowStripeStyle. Alternating row stripe style.
| Field | Type | Description |
|---|---|---|
color |
str | Alternating stripe background color; None means no alternating row fill. |
TableRowRolesStyle¶
Authored overlay for TableRowRolesStyle.
| Field | Type | Description |
|---|---|---|
summary |
TableRowRoleStyle | Style for summary role rows. |
total |
TableRowRoleStyle | Style for total role rows. |
SparkConfig¶
Configuration for spark charts (inline sparklines) in table columns.
| Field | Type | Description |
|---|---|---|
type |
enum: "line", "area", "bar", "bar-normalize", "column", "columns" | Spark chart type (line, area, bar, bar-normalize, column, columns). |
color |
str | Color for the spark mark. |
height |
int | Spark chart height in pixels. |
width |
int | Spark chart width in pixels. |
last_visible |
bool | Highlight the last data point (line/area spark charts). |
min_max_visible |
bool | Annotate the min and max data points (line spark charts only). |
fill_opacity |
float | Fill opacity for area spark charts (0–1). |
max |
float | Scaling ceiling: bar-normalize and column clamp the value to it; bar uses it in place of the column's data max. |
thresholds |
dict[int | float, str] | Color thresholds for bar / bar-normalize / column: {value: CSS color string}. |
background |
str | Background track color for bar-normalize chart. |
border_radius |
float | Corner radius in pixels for bar, bar-normalize, and column bars, and for the bar-normalize track. |
value_visible |
bool | Show numeric value label alongside the bar. |
value_suffix |
str | Text placed after the displayed value (e.g., '%'). |
negative_color |
bool | Paint negative values (bar / column / columns) with the theme's tones.negative color instead of the shared spark color. Has no effect on columns with no negative values. |
ColumnScaleConfig¶
Scale-based continuous color mapping for a table column.
| Field | Type | Description |
|---|---|---|
background |
ScaleTargetConfig | Continuous background color mapping for this column. |
color |
ScaleTargetConfig | Continuous text color mapping for this column. |
SparkEmptyStyle¶
Authored overlay for SparkEmptyStyle.
| Field | Type | Description |
|---|---|---|
inset_x |
float | Horizontal inset for the empty sparkline placeholder in pixels. |
stroke |
StrokeStyle | Empty-state placeholder stroke style. |
SparkSingleValueStyle¶
Authored overlay for SparkSingleValueStyle.
| Field | Type | Description |
|---|---|---|
inset_x |
float | Horizontal inset for the single-value sparkline in pixels. |
marker_radius |
float | Radius of the single-value marker circle in pixels. |
SparkColumnsStyle¶
Authored overlay for SparkColumnsStyle. Inline spark.type: columns (multi-value vertical bars) defaults.
| Field | Type | Description |
|---|---|---|
gap |
float | Gap between column bars in pixels. |
padding |
float | Horizontal outer padding of the columns sparkline in pixels. |
min_bar_height |
float | Minimum rendered bar height in pixels. |
border |
CornerStyle | Column bar corner rounding. |
SparkColumnStyle¶
Authored overlay for SparkColumnStyle. Inline spark.type: column (single vertical bar) defaults.
| Field | Type | Description |
|---|---|---|
width |
float | Spark column default width in pixels. |
height |
float | Spark column default height in pixels. |
SparkBarCellStyle¶
Authored overlay for SparkBarCellStyle. Inline spark.type: bar and bar-normalize (single horizontal bar) defaults.
| Field | Type | Description |
|---|---|---|
background |
str | Track background color - fill-grade, pinned per theme. |
color |
str | Bar fill color; None seeds from style.charts.color.categorical.single_series_palette[0]. |
default_max |
float | Default maximum value for bar scale when no explicit max is authored. |
border |
CornerStyle | Corner rounding for spark bar cells. |
font |
FontStyle | Spark bar cell font style overrides. Unset fields fall back to style.charts.font. |
label |
SparkBarLabelStyle | Spark bar inline label style. |
SparkAreaStyle¶
Authored overlay for SparkAreaStyle.
| Field | Type | Description |
|---|---|---|
fill_opacity |
float | Spark area fill opacity (0–1). |
GeoshapeMarkStyle¶
Authored overlay for GeoshapeMarkStyle. Geoshape (choropleth) mark fill and boundary stroke.
| Field | Type | Description |
|---|---|---|
fill |
str | Neutral geoshape fill color. |
stroke |
StrokeStyle | Geoshape boundary stroke style. |
ColumnRuleStyle¶
Authored overlay for ColumnRuleStyle. Vertical rule drawn between prose columns, structured like BorderStyle.
| Field | Type | Description |
|---|---|---|
width |
float | Rule line width in pixels. |
color |
str | Rule color as a CSS color string. |
style |
enum: "solid", "dashed", "dotted" | Rule line style. |
TooltipSlotStyle¶
Authored overlay for TooltipSlotStyle. Typography for a single tooltip slot (label or value).
| Field | Type | Description |
|---|---|---|
font |
FontStyle | Font overrides for this tooltip slot (color, weight). Unset fields fall back to style.charts.font. |
TooltipBorderStyle¶
Authored overlay for TooltipBorderStyle. Tooltip box border: all fields required; theme YAML supplies defaults.
| Field | Type | Description |
|---|---|---|
color |
str | Border color as a CSS color string. |
width |
float | Border width in pixels. |
radius |
float | Border corner radius in pixels. |
TooltipShadowStyle¶
Authored overlay for TooltipShadowStyle. Tooltip drop-shadow toggle. JS applies the shadow expression when visible=true.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show a drop-shadow on the tooltip box; theme always provides this. |
TooltipSwatchStyle¶
Authored overlay for TooltipSwatchStyle. Series color swatch in the tooltip: the mark-colored chip next to each
| Field | Type | Description |
|---|---|---|
size |
float | Swatch edge length in pixels (square). |
radius |
float | Swatch corner radius in pixels (0 = square, ~half of size = circle). |
CircleMarkStyle¶
Authored overlay for CircleMarkStyle. Circle mark opacity and stroke.
| Field | Type | Description |
|---|---|---|
opacity |
float | Mark opacity (0–1); None means not overridden at this level. |
stroke |
StrokeStyle | Unset emits no stroke; Vega-Lite's default applies. |
HistogramChartMarksStyle¶
Authored overlay for HistogramChartMarksStyle. Histogram-family mark overrides.
| Field | Type | Description |
|---|---|---|
bar |
BarMarkStyle | Bar mark overrides; inherits from global. |
rule |
RuleMarkStyle | Rule mark overrides; None inherits global. |
SeriesLabelFontStyle¶
Authored overlay for SeriesLabelFontStyle. Series-label typography with a compact width-tier size.
| Field | Type | Description |
|---|---|---|
extends |
str | Name of a style.fonts entry this slot starts from; the fields set beside it override that entry. |
family |
str | Font family name (e.g., 'sans-serif', 'Roboto'). |
color |
str | Text color as a CSS color string. |
size |
float | Font size in pixels. |
weight |
str | float | How heavy the type is drawn (e.g., 'bold', 400, 700). |
style |
enum: "normal", "italic" | Upright or slanted type (normal or italic). |
decoration |
enum: "none", "line-through", "underline" | Line drawn on the text (underline, line-through, or none). |
case |
enum: "none", "sentence", "title", "upper", "lower", "slug", "camel" | Letter-case transform applied at render time. 'title' uses Chicago/Gruber rules and preserves tokens with internal capitals (ARR, iPhone). 'sentence' uppercases only the first character. 'none' (default) emits the string without any letter-case change. |
line_height |
float | Line height as a unitless multiple of font size. Cascades through Style.font to all text roles that carry a FontStyle slot. Body prose defaults to 1.25; titles override tighter via their font patch in theme YAML. |
compact_size |
float | Series-label font size in pixels on tiny and narrow cards. |
compact_weight |
str | float | Series-label font weight on tiny and narrow cards. |
DetailsArrowStyle¶
Authored overlay for DetailsArrowStyle. Layout and font style for the expand/collapse arrow chevron.
| Field | Type | Description |
|---|---|---|
x |
float | X position of the arrow in pixels. |
font |
DetailsArrowFontStyle | Arrow glyph font style. |
InputWidths¶
Authored overlay for InputWidths.
| Field | Type | Description |
|---|---|---|
text |
float | Default width for text inputs in pixels. |
number |
float | Default width for number inputs in pixels. |
range |
float | Default width for range inputs in pixels. |
slider_value_min |
float | Minimum width for slider value display in pixels. |
checkbox |
float | Default width for checkbox inputs in pixels. |
daterange |
float | Default width for daterange chip triggers in pixels. |
RangeDefaults¶
Authored overlay for RangeDefaults.
| Field | Type | Description |
|---|---|---|
default_min |
float | Default minimum value for range inputs. |
default_max |
float | Default maximum value for range inputs. |
default_step |
float | Default step size for range inputs. |
AxisGridThresholdStyle¶
Authored overlay for AxisGridThresholdStyle. Threshold-rule color, width, and visibility overrides.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show the threshold rule; None inherits from parent axis. |
color |
str | Color of the threshold rule; None inherits from parent axis. |
width |
float | Width of the threshold rule in pixels; None inherits from parent axis. |
AxisLabelOverlapConfig¶
Authored overlay for AxisLabelOverlapConfig. Two-bool overlap strategy enablement for x-axis labels.
| Field | Type | Description |
|---|---|---|
tilt |
bool | Enable label tilt strategy; None inherits from parent axis. |
skip |
bool | Enable temporal label thinning; ignored on categorical axes; None inherits from parent axis. |
ScaleContinuousStyle¶
Authored overlay for ScaleContinuousStyle. Continuous-scale-only config: type, domain, zero-baseline, log/pow/symlog params.
| Field | Type | Description |
|---|---|---|
zero |
bool | const: "auto" | Force scale zero-baseline: True/False pins it; "auto" runs the dbt charts smart-zero heuristic; None passes through to Vega-Lite. |
type |
enum: "linear", "log", "pow", "sqrt", "symlog", "temporal" | Scale type override. 'linear'/'log'/'pow'/'sqrt'/'symlog' pass straight through to Vega-Lite's quantitative scale.type. 'temporal' is a dbt charts escape hatch for a cartesian x-axis: it forces a continuous temporal scale instead of the auto-inferred ordinal/nominal bucketed type, which is required before an authored domain of ISO dates can extend the visible range past the data extent. None lets dbt charts/Vega-Lite infer from the field type. |
domain |
tuple[int | float | str, int | float | str] | Explicit [low, high] scale domain; None lets Vega-Lite auto-determine from data. Must have exactly 2 elements: dbt charts only wires a continuous range override through to Vega-Lite, not an explicit category enumeration. Neither element may be null; pin both bounds, or omit the key to fit the data. When type: temporal is set, both elements must be ISO-8601 date/datetime strings. |
log |
ScaleLogStyle | Log-scale param (base); only meaningful with type: log. |
pow |
ScalePowStyle | Power-scale param (exponent); only meaningful with type: pow. |
symlog |
ScaleSymlogStyle | Symlog-scale param (constant); only meaningful with type: symlog. |
SupportTableRowPaddingStyle¶
Authored overlay for SupportTableRowPaddingStyle.
| Field | Type | Description |
|---|---|---|
vertical |
float | Vertical (top/bottom) padding inside support_table rows in pixels. |
horizontal |
float | Horizontal (left/right) padding inside support_table rows in pixels. |
BarLabelsStyle¶
Authored overlay for BarLabelsStyle. Bar mark value-label config. Extends MarkLabelsStyle with bar-specific positions.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show numeric value labels on each mark; False by default. |
field |
str | Column to source label text from; None uses the chart's y-field. |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Number format string for value labels. |
dx |
int | Horizontal pixel offset for value labels; overrides the position default. |
dy |
int | Vertical pixel offset for value labels; overrides the position default. |
font |
FontStyle | Value label font style (color, size, family, etc.). |
position |
enum: "above", "top", "middle", "middle_aligned", "bottom" | Label position relative to the bar. 'above' places labels above the bar top (outside). 'top' places labels just inside the top edge. 'middle' centers labels vertically in the bar. 'middle_aligned' centers all labels at a common height (mean of bar heights / 2). 'bottom' places labels just inside the bottom edge. |
BarTotalLabelStyle¶
Authored overlay for BarTotalLabelStyle. Stack total label style for bar marks.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show stack total labels above each bar stack. Only takes effect on stacked bar charts; ignored otherwise. |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Number format string for stack total labels. |
dx |
int | Horizontal pixel offset for stack total labels. |
dy |
int | Vertical pixel offset for stack total labels. |
font |
FontStyle | Stack total label font style overrides; cascade fills missing fields from charts.font. Unset fields fall back to style.charts.font. |
StrokeStyle¶
Authored overlay for StrokeStyle. Stroke appearance sub-block shared across mark families.
| Field | Type | Description |
|---|---|---|
color |
str | Stroke color as a CSS color string. |
width |
float | Stroke width in pixels. |
cap |
enum: "butt", "round", "square" | How the stroke's ends are finished (butt, round, or square). |
join |
enum: "miter", "round", "bevel" | How two stroke segments are joined (miter, round, or bevel). |
dasharray |
str | Lengths of the dashes and the blanks between them (e.g. '4 2'). |
PointLabelsStyle¶
Authored overlay for PointLabelsStyle. Point/line mark value-label config. Used by both LineMarkStyle and PointMarkStyle.
| Field | Type | Description |
|---|---|---|
visible |
bool | Show numeric value labels on each mark; False by default. |
field |
str | Column to source label text from; None uses the chart's y-field. |
format |
str | FormatConfig | enum: "currency", "currency_full", "currency_whole", "date_short", "delta", "integer", "number", "number_full", "percent", "percent_delta", "percent_whole", "time_short", "year" | Number format string for value labels. |
dx |
int | Horizontal pixel offset for value labels; overrides the position default. |
dy |
int | Vertical pixel offset for value labels; overrides the position default. |
font |
FontStyle | Value label font style (color, size, family, etc.). |
position |
enum: "top", "bottom", "left", "right", "middle" | Label position relative to the point. 'top' places labels above the point. 'bottom' places labels below. 'left' to the left. 'right' to the right. 'middle' centers on the point. |
FontColorStrokeStyle¶
Authored overlay for FontColorStrokeStyle. Stroke for rule marks whose color defaults to the root font color.
| Field | Type | Description |
|---|---|---|
color |
str | Stroke color for rule marks. Falls back to style.font.color. |
width |
float | Stroke width in pixels. |
cap |
enum: "butt", "round", "square" | How the stroke's ends are finished (butt, round, or square). |
join |
enum: "miter", "round", "bevel" | How two stroke segments are joined (miter, round, or bevel). |
dasharray |
str | Lengths of the dashes and the blanks between them (e.g. '4 2'). |
AreaStackedMarkStyle¶
Authored overlay for AreaStackedMarkStyle. Stacked / streamgraph area recipe override: solid fill + perimeter stroke.
| Field | Type | Description |
|---|---|---|
opacity |
float | Area fill opacity (0–1) for the stacked recipe. |
stroke |
StrokeStyle | Perimeter stroke style for the stacked recipe. |
halo_multiplier |
float | Halo stroke width multiplier for the stacked recipe; 0 disables the halo. |
SliceLabelsStyle¶
Authored overlay for SliceLabelsStyle. Pie labels: typography + positioning offsets for per-slice text.
| Field | Type | Description |
|---|---|---|
offset |
float | Radial offset of slice labels from the arc in pixels. |
line_height |
float | Line height for slice labels in pixels. Reserved vertical space above the disk is line_height × <rendered lines> per row, so the same value handles 1-line, 2-line, and multi-line templates. |
font |
FontStyle | Slice label font style overrides. color only takes effect on single-series pies (no color: channel authored); multi-series pies always paint each label with ink derived from its own wedge color against the chart's canvas, and ignore an authored color here. Unset fields fall back to style.charts.font (except color). |
default_template |
LabelsDefaultTemplate | Default Jinja templates for per-slice labels when template is not authored. |
template |
str | Jinja2 label template. Overrides default_template when authored. |
where |
str | Jinja2 boolean filter; labels only render on rows where this is truthy. |
TableRowRoleStyle¶
Authored overlay for TableRowRoleStyle.
| Field | Type | Description |
|---|---|---|
rule_width |
float | Rule width above rows with this role in pixels. |
font |
FontStyle | Per-role font style override; None uses the default row font. |
background |
str | Per-role row background color; None means no override. |
SparkBarLabelStyle¶
Authored overlay for SparkBarLabelStyle.
| Field | Type | Description |
|---|---|---|
inset_x |
float | Horizontal inset for the spark bar label in pixels. |
fill |
str | Label text fill color. |
fill_opacity |
float | Label text fill opacity (0–1). |
min_size |
float | Minimum bar fill width required to show the label in pixels. |
height_offset |
float | Vertical offset of the label from its bar top in pixels. |
DetailsArrowFontStyle¶
Authored overlay for DetailsArrowFontStyle. Font style for the expand/collapse arrow glyph.
| Field | Type | Description |
|---|---|---|
size |
float | Font size of the arrow glyph in pixels. |
ScaleLogStyle¶
Authored overlay for ScaleLogStyle. Log-scale-only param.
| Field | Type | Description |
|---|---|---|
base |
float | Log base; only meaningful with type: log. None lets Vega-Lite apply its own default (10). |
ScalePowStyle¶
Authored overlay for ScalePowStyle. Power-scale-only param.
| Field | Type | Description |
|---|---|---|
exponent |
float | Power exponent; only meaningful with type: pow. None uses Vega-Lite's default. |
ScaleSymlogStyle¶
Authored overlay for ScaleSymlogStyle. Symlog-scale-only param.
| Field | Type | Description |
|---|---|---|
constant |
float | Symlog constant; only meaningful with type: symlog. None uses Vega-Lite's default. |
LabelsDefaultTemplate¶
Authored overlay for LabelsDefaultTemplate. Default Jinja templates for per-slice pie/donut labels.
| Field | Type | Description |
|---|---|---|
with_color |
str | Default per-slice label template when the chart has a color binding. |
no_color |
str | Default per-slice label template when the chart has no color binding. |
PostgresSourceConfig¶
Postgres source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "postgres" | |
host |
str | Database host name or IP address. |
dbname |
str | Database name (dbt accepts database as an input alias). |
user |
str | Database user name. |
password |
str | Database password (dbt accepts pass as an input alias). |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
max_query_duration_seconds |
int | Maximum execution time for one query in seconds. Overrides execution.max_query_duration_seconds for this source. |
attribution |
dict[str, str] | Cost-attribution pairs sent with every query against this source, e.g. attribution: {team: analytics}. Emitted as BigQuery job labels and as a query comment elsewhere. Keys and values must match BigQuery's label rules ([a-z][a-z0-9_-]{0,62} / [a-z0-9_-]{0,63}). The dbt_charts_ prefix and the app key are reserved for the engine's own identity. |
port |
int | Database port number. |
schema |
str | Default schema for queries. |
connect_timeout |
int | Connection timeout in seconds. |
role |
str | PostgreSQL role to assume after connecting. |
search_path |
str | PostgreSQL search_path for the connection. |
keepalives_idle |
int | Idle seconds before TCP keepalives begin. |
sslmode |
enum: "disable", "allow", "prefer", "require", "verify-ca", "verify-full" | libpq SSL mode forwarded to psycopg2. None lets libpq decide its default. |
sslcert |
str | Path to the client SSL certificate. |
sslkey |
str | Path to the client SSL private key. |
sslrootcert |
str | Path to the trusted SSL certificate authority file. |
application_name |
str | Application name reported to PostgreSQL. |
retries |
int | Number of connection retry attempts. |
SnowflakeSourceConfig¶
Snowflake source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "snowflake" | |
account |
str | Snowflake account identifier (e.g. xy12345.us-east-1). |
database |
str | Snowflake database name. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
max_query_duration_seconds |
int | Maximum execution time for one query in seconds. Overrides execution.max_query_duration_seconds for this source. |
attribution |
dict[str, str] | Cost-attribution pairs sent with every query against this source, e.g. attribution: {team: analytics}. Emitted as BigQuery job labels and as a query comment elsewhere. Keys and values must match BigQuery's label rules ([a-z][a-z0-9_-]{0,62} / [a-z0-9_-]{0,63}). The dbt_charts_ prefix and the app key are reserved for the engine's own identity. |
user |
str | Snowflake user name. Omit for token-based authentication when supported. |
password |
str | Snowflake password. Omit when using OAuth or key-pair auth. |
warehouse |
str | Snowflake virtual warehouse name. |
schema |
str | Default schema for queries. |
role |
str | Snowflake role to assume for the session. |
authenticator |
str | Snowflake authenticator name or external-browser mode. |
private_key |
str | PEM private key used for key-pair authentication. |
private_key_path |
str | Path to a PEM private key for key-pair authentication. |
private_key_passphrase |
str | Passphrase for the configured private key. |
token |
str | OAuth access token for token authentication. |
oauth_client_id |
str | OAuth client identifier. |
oauth_client_secret |
str | OAuth client secret. |
query_tag |
str | Snowflake query tag applied to statements. |
client_session_keep_alive |
bool | Whether Snowflake keeps the client session alive. |
host |
str | Snowflake host override. |
port |
int | Snowflake port override. |
proxy_host |
str | HTTP proxy host for Snowflake connections. |
proxy_port |
int | HTTP proxy port for Snowflake connections. |
protocol |
str | Network protocol for the Snowflake connection. |
connect_retries |
int | Number of retries while opening a connection. |
connect_timeout |
int | Connection timeout in seconds. |
retry_on_database_errors |
bool | Whether database errors are retried. |
retry_all |
bool | Whether all connection errors are retried. |
insecure_mode |
bool | Whether TLS certificate verification is disabled. |
reuse_connections |
bool | Whether dbt reuses Snowflake connections. |
s3_stage_vpce_dns_name |
str | Private VPC endpoint DNS name for S3 staging. |
platform_detection_timeout_seconds |
float | Timeout for Snowflake platform detection. |
BigQuerySourceConfig¶
BigQuery source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "bigquery" | |
project |
str | GCP project ID. |
dataset |
str | BigQuery dataset name (equivalent to schema). |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
max_query_duration_seconds |
int | Maximum execution time for one query in seconds. Overrides execution.max_query_duration_seconds for this source. |
attribution |
dict[str, str] | Cost-attribution pairs sent with every query against this source, e.g. attribution: {team: analytics}. Emitted as BigQuery job labels and as a query comment elsewhere. Keys and values must match BigQuery's label rules ([a-z][a-z0-9_-]{0,62} / [a-z0-9_-]{0,63}). The dbt_charts_ prefix and the app key are reserved for the engine's own identity. |
keyfile |
str | Path to service account JSON key file. |
keyfile_json |
dict[str, str | int | float | bool] | Inline service account JSON dict. |
location |
str | Dataset location (e.g. US, EU). |
method |
enum: "oauth", "oauth-secrets", "service-account", "service-account-json", "external-oauth-wif" | dbt-bigquery authentication method. Inferred from keyfile/keyfile_json when omitted: 'service-account-json' if keyfile_json set, 'service-account' if keyfile set, 'oauth' (Application Default Credentials) otherwise. |
execution_project |
str | GCP project billed for BigQuery execution. |
quota_project |
str | GCP project used for quota attribution. |
api_endpoint |
str | BigQuery API endpoint override. |
priority |
enum: "interactive", "batch" | BigQuery job priority. |
maximum_bytes_billed |
int | Maximum bytes a BigQuery job may bill. |
impersonate_service_account |
str | Service account to impersonate for BigQuery jobs. |
job_retry_deadline_seconds |
int | Deadline in seconds for retrying a BigQuery job. |
job_retries |
int | Number of BigQuery job retry attempts (dbt accepts retries as an input alias). |
job_creation_timeout_seconds |
int | Timeout in seconds while creating a BigQuery job. |
job_execution_timeout_seconds |
int | Timeout in seconds while executing a BigQuery job. |
token |
str | OAuth access token. |
refresh_token |
str | OAuth refresh token. |
client_id |
str | OAuth client identifier. |
client_secret |
str | OAuth client secret. |
token_uri |
str | OAuth token endpoint URI. |
workload_pool_provider_path |
str | Workload identity pool provider resource path. |
service_account_impersonation_url |
str | Service-account impersonation endpoint URL. |
token_endpoint |
dict[str, str] | OAuth token endpoint configuration. |
compute_region |
str | Dataproc compute region. |
dataproc_cluster_name |
str | Dataproc cluster name. |
gcs_bucket |
str | Cloud Storage bucket for Dataproc submission. |
submission_method |
str | dbt-bigquery Dataproc submission method. |
dataproc_batch |
dict[str, str | int | float | bool] | Dataproc batch configuration. |
scopes |
list[str] | OAuth scopes requested for BigQuery credentials. |
RedshiftSourceConfig¶
Redshift source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "redshift" | |
host |
str | Redshift cluster host name. |
dbname |
str | Redshift database name (dbt accepts database as an input alias). |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
max_query_duration_seconds |
int | Maximum execution time for one query in seconds. Overrides execution.max_query_duration_seconds for this source. |
attribution |
dict[str, str] | Cost-attribution pairs sent with every query against this source, e.g. attribution: {team: analytics}. Emitted as BigQuery job labels and as a query comment elsewhere. Keys and values must match BigQuery's label rules ([a-z][a-z0-9_-]{0,62} / [a-z0-9_-]{0,63}). The dbt_charts_ prefix and the app key are reserved for the engine's own identity. |
port |
int | Redshift port number. |
schema |
str | Default schema for queries. |
user |
str | Redshift user name. Omit for IAM-based authentication when supported. |
password |
str | Redshift password. Omit for IAM-based authentication when supported. |
method |
str | Redshift authentication method. |
cluster_id |
str | Redshift cluster identifier for IAM authentication. |
iam_profile |
str | IAM profile ARN used for Redshift authentication. |
autocreate |
bool | Whether dbt may create the database user. |
db_groups |
list[str] | Redshift database groups assigned to the user. |
ra3_node |
bool | Whether the target uses Redshift RA3 nodes. |
connect_timeout |
int | Connection timeout in seconds. |
role |
str | IAM role ARN used for Redshift operations. |
sslmode |
str | SSL verification mode for the Redshift connection. |
retries |
int | Number of Redshift connection retry attempts. |
retry_all |
bool | Whether all connection errors are retried. |
region |
str | AWS region containing the Redshift target. |
access_key_id |
str | AWS access key identifier. |
secret_access_key |
str | AWS secret access key. |
idc_region |
str | AWS IAM Identity Center region. |
issuer_url |
str | Identity-provider issuer URL. |
idp_listen_port |
int | Local port used for identity-provider callbacks. |
idc_client_display_name |
str | IAM Identity Center client display name. |
idp_response_timeout |
int | Identity-provider response timeout in seconds. |
token_endpoint |
dict[str, str] | Identity-provider token endpoint configuration. |
is_serverless |
bool | Whether the target is Redshift Serverless. |
serverless_work_group |
str | Redshift Serverless workgroup name. |
serverless_acct_id |
str | AWS account identifier for Redshift Serverless. |
tcp_keepalive |
bool | Whether TCP keepalives are enabled. |
tcp_keepalive_idle |
int | Idle seconds before TCP keepalives begin. |
tcp_keepalive_interval |
int | Seconds between TCP keepalive probes. |
tcp_keepalive_count |
int | Number of TCP keepalive probes before failure. |
MySQLSourceConfig¶
MySQL source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "mysql" | |
host |
str | MySQL host name or IP address. |
database |
str | MySQL database name. |
user |
str | MySQL user name. |
password |
str | MySQL password. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
max_query_duration_seconds |
int | Maximum execution time for one query in seconds. Overrides execution.max_query_duration_seconds for this source. |
attribution |
dict[str, str] | Cost-attribution pairs sent with every query against this source, e.g. attribution: {team: analytics}. Emitted as BigQuery job labels and as a query comment elsewhere. Keys and values must match BigQuery's label rules ([a-z][a-z0-9_-]{0,62} / [a-z0-9_-]{0,63}). The dbt_charts_ prefix and the app key are reserved for the engine's own identity. |
port |
int | MySQL port number. |
schema |
str | Default schema for queries. |
DuckDBSourceConfig¶
DuckDB source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "duckdb" |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
max_query_duration_seconds |
int | Maximum execution time for one query in seconds. Overrides execution.max_query_duration_seconds for this source. |
path |
str | DuckDB file path or ':memory:' for an in-memory database. |
schema |
str | Default schema for unqualified table names (sets search_path). |
duckdb_config |
dict[str, str | int | float | bool] | DuckDB connection configuration values, such as enable_external_access. |
extensions |
list[str | DuckDBExtensionConfig] | DuckDB extensions to install and load. |
settings |
dict[str, str | int | float | bool] | DuckDB settings and pragma values. |
secrets |
list[DuckDBSecretConfig] | DuckDB secret definitions for external services. |
external_root |
str | Root path for dbt-duckdb external materializations. |
use_credential_provider |
str | Not supported; remove this field from the source config. |
attach |
list[DuckDBAttachmentConfig] | Databases to attach to the DuckDB connection. |
filesystems |
list[dict[str, str | int | float | bool]] | Not supported; remove this field from the source config. |
remote |
DuckDBRemoteConfig | Not supported; remove this field from the source config. |
plugins |
list[DuckDBPluginConfig] | Not supported; remove this field from the source config. |
disable_transactions |
bool | Whether dbt-duckdb disables statement transactions. |
keep_open |
bool | Whether dbt-duckdb holds its connection open between queries. Off by default: a held handle pins the database file at one DuckDB config, and DuckDB refuses any other connection to a pinned file whose config differs. Ignored for ':memory:' and MotherDuck, which dbt-duckdb holds open either way; closing an in-memory database would destroy it. |
module_paths |
list[str] | Python module paths dbt-duckdb loads. |
retries |
DuckDBRetriesConfig | dbt-duckdb connection and query retry configuration. |
is_ducklake |
bool | Whether this source uses DuckLake. |
SQLiteSourceConfig¶
SQLite source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "sqlite" | |
path |
str | Path to the SQLite database file. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
CsvSourceConfig¶
CSV file source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "csv" | |
files |
dict[str, str] | Mapping of table_name → file path or glob (*/?), relative to the project root. A glob must match at least one file; matched files must share one column schema and concatenate into one table. Limits: max 1000 files per glob, max 500 tables, max 5 GB per table (execution.max_glob_file_count / file_source_max_tables / file_source_max_bytes). Required, non-empty. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
delimiter |
str | Field delimiter character. |
encoding |
str | File encoding. |
ParquetSourceConfig¶
Parquet file source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "parquet" | |
files |
dict[str, str] | Mapping of table_name → file path or glob (*/?), relative to the project root. A glob must match at least one file; matched files must share one column schema and concatenate into one table. Limits: max 1000 files per glob, max 500 tables, max 5 GB per table (execution.max_glob_file_count / file_source_max_tables / file_source_max_bytes). Required, non-empty. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
JsonSourceConfig¶
JSON file source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "json" | |
files |
dict[str, str] | Mapping of table_name → file path or glob (*/?), relative to the project root. A glob must match at least one file; matched files concatenate into one table. Limits: max 1000 files per glob, max 500 tables, max 5 GB per table (execution.max_glob_file_count / file_source_max_tables / file_source_max_bytes). Required, non-empty. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
union_by_name |
bool | When True, rows from different files in a glob set are unified by column name: columns absent in a particular file are filled with NULL. When False (default), all files in a glob set must share the same column schema; a mismatch raises an error. |
HttpSourceConfig¶
HTTP/REST API source configuration.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "http" | |
url |
str | Base URL for HTTP requests. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
headers |
dict[str, str] | Default HTTP headers (e.g. Authorization). |
DbtProfileSourceConfig¶
Reference to a dbt profile.
Required
| Field | Type | Description |
|---|---|---|
type |
const: "dbt_profile" | |
profile |
str | dbt profile name from profiles.yml. |
Optional
| Field | Type | Description |
|---|---|---|
cache |
Cache | Cache policy default for every query against this source, e.g. cache: 1h: queries inherit it and may refine it; cache: false opts them out. |
attribution |
dict[str, str] | Cost-attribution pairs sent with every query against this source, e.g. attribution: {team: analytics}. Emitted as BigQuery job labels and as a query comment elsewhere. Keys and values must match BigQuery's label rules ([a-z][a-z0-9_-]{0,62} / [a-z0-9_-]{0,63}). The dbt_charts_ prefix and the app key are reserved for the engine's own identity. |
target |
str | dbt target to use; defaults to the profile's default target. |
profiles_dir |
str | Directory containing profiles.yml, relative to the linked dbt project directory (see --dbt-project-dir). Use when profiles.yml is in a subdirectory (e.g. services/dbt). Resolution order: profiles_dir → $DBT_PROFILES_DIR → linked dbt project → ~/.dbt. |
target_path |
str | Directory holding the manifest.json built for this target, relative to the linked dbt project directory; same meaning as dbt's --target-path. ref() and source() resolve against <target_path>/manifest.json. Build it with dbt parse --target <target> --target-path <target_path>. Defaults to dbt's own resolution: $DBT_TARGET_PATH → dbt_project.yml target-path → target. |
dbt charts Project Config Reference: execution settings¶
Settings authored under execution: in dbt_charts.yml at the project root, not in a board. The file's other sections (sources:, server:, cache:, ...) are not generated here yet.
ExecutionConfig¶
| Field | Type | Description |
|---|---|---|
max_workers |
int | Maximum parallel query workers for a render. DuckDB serializes access regardless, so this only moves external warehouses. |
max_query_duration_seconds |
int | Maximum seconds a single query may run (must be > 0). |
max_glob_file_count |
int | Maximum files a single glob may match (must be > 0). |
file_source_max_tables |
int | Max tables in a files: map (must be > 0). |
file_source_max_bytes |
int | Max uncompressed bytes per file-source table (must be > 0). |
max_rows |
int | Maximum rows a single query may return (must be > 0). |
max_result_bytes |
int | Maximum serialized byte size of a single query result (must be > 0). |
max_template_output_bytes |
int | Maximum cumulative bytes of Jinja-emitted template output for a single board render (must be > 0). |
dialect_aliases |
dict[str, str] | Maps a dbt charts dialect name to its sqlglot equivalent before parsing. |