- Home
- Notebook Software
- Polynote
Polynote
What it is
Polynote is free, open-source notebook software with first-class Scala support. A notebook can mix Scala, Python, SQL, and Vega while sharing data between languages. Its immutable data model and ordered cell semantics are designed for reproducible work. Editing includes interactive autocomplete, error highlighting, rich text, and LaTeX equations in text cells. The interface tracks kernel tasks and highlights the statement currently running. A plot editor and Vega support handle visualizations. Polynote integrates with Apache Spark for Scala and Python, while Python executes through Jep in the JVM and can share data with Scala. The software uses a JVM-based server and web client and is distributed as a self-hosted server. It supports Jupyter .ipynb and Zeppelin .json formats. Documentation reports successful testing with Java 8 and Java 11 and requires Python 3 with pip. Installation documentation warns that arbitrary remote code execution makes internet-accessible deployment unsafe.
For and against
For
- First-class Scala support
- Shares data across multiple languages
- Immutable model supports reproducibility
- Apache Spark integration
- Supports Jupyter and Zeppelin formats
Against
- Self-hosted installation required
- Requires Java and Python 3 with pip
- Internet-accessible deployment is unsafe
- Allows arbitrary remote code execution
The verdict
Polynote offers a multi-language notebook centered on Scala, with Spark and visualization support. Its self-hosted setup and explicit remote-code-execution warning require careful deployment decisions.
Who it suits
Polynote suits developers and data practitioners who need mixed-language notebooks, Scala, Spark, and local execution. It is for users able to manage a self-hosted JVM and Python environment.
Plans and prices
Polynote
Open-source notebook software · distributed as a self-hosted server
Read 4 Oct 2026 · polynote.org
On the record
- Delivery
- Polynote consists of a JVM-based server application that serves a web-based client.polynote.org · read 4 Oct 2026
- Editing
- Features include interactive autocomplete, error highlighting, rich text editing, and LaTeX equations in text cells.polynote.org · read 4 Oct 2026
- Execution
- The interface tracks kernel tasks and highlights the statement currently running.polynote.org · read 4 Oct 2026
- Maintainers and backing
- Polynote lists three maintainers and acknowledges investment from Netflix OSS.polynote.org · read 4 Oct 2026
- Mixed languages
- A notebook can mix multiple languages and share data between them.polynote.org · read 4 Oct 2026
- Product
- Polynote is a polyglot notebook with first-class Scala support.polynote.org · read 4 Oct 2026
- Python support
- Polynote uses Jep to execute Python code within the JVM and supports sharing data between Python and Scala.polynote.org · read 4 Oct 2026
- Reproducibility
- Polynote encourages reproducible notebooks with an immutable data model and ordered cell semantics.polynote.org · read 4 Oct 2026
- Runtime requirements
- The documentation reports successful testing with Java 8 and Java 11, and requires a working Python 3 environment including pip.polynote.org · read 4 Oct 2026
- Security
- The installation documentation warns that Polynote allows arbitrary remote code execution and says running it on an internet-accessible computer is unsafe.polynote.org · read 4 Oct 2026
- Spark integration
- Polynote integrates with Apache Spark and supports running Scala and Python code with Spark.polynote.org · read 4 Oct 2026
- Visualization
- Polynote includes a plot editor and supports the Vega visualization language.polynote.org · read 4 Oct 2026