Skip to main content

Reactive execution

Reactive graph-based execution model#

Hex projects are backed by a graph which links cells together and defines how they re-execute. This graph can be visualized in the Graph View, activated by pressing the Graph button.

This differs from a traditional code notebook, and offers several advantages:

  • Interpretability: it's easy to see how cells relate to each other, and how re-computes flow through the project. The Graph View is a visual "mind map" of the complexity you'd previously have to keep track of in your head.
  • Reproducibility: Hex projects are reproducible by default, in that a given change will trigger a predictable, consistent set of re-computes through the graph.
  • Performance: in logic development, but especially in published apps, this new DAG model is a massive leap forward. Input parameters will only trigger downstream, dependent logic, without any additional overhead or complexity.

How cells link together#

The graph is built automatically based on parameter references in Python and SQL code. In the simple example below, we can see that x and y are both defined in and then referenced down in cells 2 and 3. These linkages are automatically inferred, without any need for user definition.