Notebooks
Interactive computational notebooks allow to express data science in a modern way.
It's possible to mix up data, logic and visualizations to describe ideas and concepts.
This kind of Literate Programming leads to reproducible reasearch and open access in data science.

It's possible to mix up data, logic and visualizations to describe ideas and concepts.
This kind of Literate Programming leads to reproducible reasearch and open access in data science.

Expansion
Notebooks are initially displayed in collapsed mode. This means that the common entity UI components are hidden to improve the usability of notebooks.
Those components can be displayed by clicking the expansion icon.

Those components can be displayed by clicking the expansion icon.

Sections
The context menu to add new sections can be opened by clicking the plus icon at the bottom of the notebook or by clicking the insertion marker between sections.

Many entity types are supported as sections within a notebook:

Many entity types are supported as sections within a notebook:
| Section | Description | FDK API |
|---|---|---|
| Chapter | Structuring unit within a notebook | |
| Layout | Columnar layouting unit within a notebook | |
| Spacer | Vertical spacing unit within a notebook | |
| Contents | Table of contents (TOC) | |
| Function | Intelligent function to map the project graph | |
| Table | Big data table for structured data | |
| Model | Automated analysis model | |
| Chart | Graphical representation of data | |
| Text | Textual output in a notebook | |
| Image | Two-dimensional image |
Interdependencies
Sections may depend on each other. All sections are automatically refreshed after each function evaluation.
Structuring
Notebooks can be structured in chapters. If the notebook contains at least one chapter then it will automatically display a table of contents.
Chapters can also be nested within one another. It's even possible to reorder sections via drag and drop.

Chapters can also be nested within one another. It's even possible to reorder sections via drag and drop.

Layouting
Sections can be vertically layouted in columns via the layout section.


Export & import
A notebook can leave the platform as a Diafunc bundle — a portable, human-readable
From the Bundle menu in the Lab action bar, Export notebooks… lets you pick one or more notebooks and download the bundle (or queue a background job for very large exports). Import bundle… uploads a
Table data round-trips through CSV by default, which keeps the bundle readable; choose the Parquet encoding when exact column typing matters. Per-entity version history is not included — a bundle captures the current state of each notebook.
.dfnb file (a ZIP whose members are JSON for structure and CSV for table data). Use it to version a notebook in git, share it, or move it between projects and clusters. A bundle is self-contained: exporting a notebook automatically includes the full closure of entities it references — chapters, tables, functions, models, charts and their data — so it re-imports anywhere with no dangling references. From the Bundle menu in the Lab action bar, Export notebooks… lets you pick one or more notebooks and download the bundle (or queue a background job for very large exports). Import bundle… uploads a
.dfnb, previews its inventory, and then commits it into the current project under freshly-minted ids — a re-import never collides with existing content. Table data round-trips through CSV by default, which keeps the bundle readable; choose the Parquet encoding when exact column typing matters. Per-entity version history is not included — a bundle captures the current state of each notebook.
Export & import from the CLI
The same bundles can be produced and consumed from the command line:
| Command | Description |
|---|---|
diafunc notebook export <project> <notebookId…> --out file.dfnb | Export notebooks to a bundle (add --data parquet for typed table data, --async to queue). |
diafunc notebook import <project> file.dfnb | Import a bundle (--preview to inspect first, --on-conflict copy|overwrite|skip). |
diafunc notebook bundles <project> | List bundle-export jobs for a project. |