Polynote, a jupyter killer?

I wasn't impressed when I first heard about polynote . I thought, maybe this is a jupyter notebook with a different layout. Fast forward a couple of months later, I came across polynote again. Only this time I thought to give it a go and honestly, I'm very much impressed with the new notebook.

Is it a jupyter killer?

hero-animation.gif

Some of us(probably most) have used jupyter notebooks (and jupyter lab, although they use the same kernel beneath, it's just the latter is considered more of an IDE) at least once in our programming journey. The interactive notebooks provide a smooth experience for writing code and testing them. You could always execute your task "one block at a time". What makes polynote better?

Polynote is made possible by the investment of Netflix OSS.

The features of polynote are detailed on it's website. Here are my favorites.

  • Autocomplete

autocomplete

  • Error Highlighting mismatch.png

  • Latex Equations latex.png

  • Polyglot notebook: It supports mixing multiple languages in one notebook, and sharing data between them seamlessly. For example, you can use python tools to plot data generated using scala.

Installation

Polynote is currently only tested on Linux and macOS, using the Chrome browser as a client. I have tried Microsoft Edge, but the notebook breaks sometimes. There's no support for Windows currently, however you can use polynote via WSL2. Installation instructions can be found here.

WSL2 users need to create a custom config file.

cp config-template.yml config.yml

Now edit the config.yml and add

listen:
  host: 0.0.0.0

or you could uncomment the listen section.

Launch the notebook using python polynote.py. Add an alias to bashrc or zshrc to run polynote from any directory.

Drawbacks

  • Polynote is new, so expect it to break a couple of times.
  • The training continued even after I killed the kernel(it uses JVM based server). Maybe they'll fix this in the future.
  • Sometimes it is hard to change the first cell to python(defaults to scala).
  • See more at polynote issues

Once they fix many of the issues, polynote could be a great tool for many Data Scientists because of it's first-class Scala support and polyglot feature(for me, it's the autocomplete feature).

References

No Comments Yet