What is Diggy

Diggy Notebook

Diggy, like Jupyter, is a computational environment that is made up of small blocks called cells. Together they form a notebook.

Reactive Programming

Diggy is reactive. Meaning that it doesn't run cells from top to bottom; instead, Diggy maintains a special data structure called direct acyclic graph (DAG) that calculates the execution order. When you change a variable, Diggy automatically re-evaluates all its dependencies. Thus, there's no hidden, no mutable state. It's always up-to-date, you don't have to restart & run all cells to make sure that all cells are aligned.

Python 3

Diggy runs Python 3. In fact, it runs CPython, which is a reference implementation of the Python programming language.

No server-side

All Diggy notebooks could be edited, written and executed entirely in your browser. There's no server-side component to execute your code. Therefore, your code could react to user interaction within milli- and nanoseconds.

Simplicity in mind

There's only one kind of cell. All cells in Diggy contain Python code; for example, if you need to render a markdown or HTML, there're special helper functions. The result of the evaluation is always based on a cell's type.

Secure

The browser sandbox lets you run Python code safely; it won't be able to open a file in your file system or open a TCP socket.

When Diggy is not the right choice

One example is large applications that work with big data. It's a trade-off between data exploration/visualization and long-running computations that are not suitable for edge-computing.