---
# System prepended metadata

title: PolyNote
tags: [sbtb-2019]

---

# PolyNote

###### tags: `sbtb-2019`

https://polynote.org/

## Why

Scientiests rarely use Scala notebook, due to usability issues like auto-complete

Why not IDE based = because they are not HTML based.

> Although: JetBrains did a IntelliJ notebook product.

Why not Jupyter kernel?

> Almond (`jupyter-scala` is stable and awesome)

> Notebook state in Jupyter only exist on the client side
> Does not handle collaboration

## PolyNote experience

### Code editor

Using the open-sourced code editor behind Microsoft VSCode

Text cell editor are intuitive

### Notebook reproducibility problem

Not based on a REPL.

Cell ordering matters. They only receive input from cells above it.

### Visibility about execution

Has a window that shows execution state

### Polyglot notebook

Supports

- Scala
- Python
- SQL (Spark SQL)

Uses `jep` (Java-embedded Python)

### Dependency management

dependencies are defined on the notebook level