Skip to main content
Cube supports authoring data models dynamically — useful for de-duplicating common patterns across cubes, generating models from a remote source, or adapting the schema per tenant at runtime. Pick the approach that matches the language your data models are written in:

Jinja & Python

Template YAML data models with Jinja, and use Python for loops, includes, and runtime generation.

JavaScript

Generate cubes and views on-the-fly from JavaScript data models using asyncModule().

How it fits together

The diagrams below show how YAML and JavaScript data models are parsed and compiled before they’re served by Cube.

YAML data models compiled with COMPILE_CONTEXT

JavaScript data models compiled with COMPILE_CONTEXT