Polynote, The Next Jupyter?

Harrison Miller
Dec 8, 2019 · 3 min read

If you are a data scientist the probability that you work in notebooks is high. The default choice has been Jupyter notebooks for many. Netflix has recently released their notebook that was developed internally, Polynote. Here are some of the unique features you should know about this new tool.

Reproducible Notebooks

One major difference between Jupyter and Polynote is that the cells in a Polynote notebook are immutable. In Jupyter you can run cells in any order you choose. While adding flexibility, it can also lead to complicated notebooks when trying to share with others. Polynote constructs the input state for a given cell based on the cells that have run above it. Making the position of a cell important in its execution semantics enforces the principal of least surprise, allowing users to read the notebook from top to bottom. No confusion on what order to run your cells if you’re sharing with the team.

Multi-language Support

Billed as “The polyglot notebook,” an interesting feature of Polynote is that it supports multiple languages. I know what you’re about to say, “well so does Jupyter!”. The multi-language support in Jupyter is a per notebook choice. One notebook, one language. However, Polynote supports multiple languages within the same notebook. It achieves this by making the language selectable per cell. Variables are also shared between cells so different languages can work together under the same context. This application of multiple language support opens the possibilities of choosing the best language for whatever operation you need to do. Currently Polynote only supports Python (with or without Spark), Scala, SQL, and Vega.

Data Visualization and Text Editing

In Polynote, data visualization is built-in. It has a GUI interface that the developer can use without having to write any code to visualize their data. As for text editing, Polynote has a WYSIWYG editor for composing text cells, so you’ll know what the text will look like as you’re writing. TeX equations are also supported.

Runtime Insight

Polynote also features a side area that shows you what is going on during runtime. It shows you what the kernel is doing at any given time. There is a symbol table that shows you what variables and functions you’ve defined. Compile failures and runtime exceptions are also highlighted in the editor, so you can see exactly whats going wrong.

Built in Config and Dependency Management

You are able to specify what dependencies you need for your code to run and Polynote will set it up for you. Cleaner code for all!

Jupyter Killer?

Will this be a Jupyter killer? Only time will tell. Polynote shows potential and is definitely going in the right direction with making the notebook work more like an IDE and great QOL features. To check out Polynote for yourself visit here.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade