Polynote
polynote.org
What it is
Polynote is free, open-source notebook software with first-class Scala support. One notebook can mix Scala, Python, SQL, and Vega while sharing data between languages. Its immutable data model and ordered cell semantics support reproducible work. Editing includes autocomplete, error highlighting, rich text, and LaTeX equations. The interface tracks kernel tasks and highlights the statement currently running. A plot editor and Vega support handle visualization. Polynote integrates with Apache Spark for Scala and Python; Python runs through Jep in the JVM and can share data with Scala. The software is a JVM-based server that serves a web client and is distributed for self-hosting on Linux, macOS, and other listed environments. It supports Jupyter .ipynb and Zeppelin .json formats. Runtime documentation reports successful testing with Java 8 and Java 11 and requires Python 3 with pip. Installation warns that arbitrary remote code execution makes internet-accessible deployment unsafe.
Spec sheet
- Product
- Polynote is a polyglot notebook with first-class Scala support.Read 4 Oct 2026 · polynote.org
- Platforms
- Polynote is currently tested on Linux and macOS, using Chrome as the client; Windows support is limited to reports of success on Windows Subsystem for Linux.Read 4 Oct 2026 · polynote.org
- Security
- The installation documentation warns that Polynote allows arbitrary remote code execution and says running it on an internet-accessible computer is unsafe.Read 4 Oct 2026 · polynote.org
- Delivery
- Polynote consists of a JVM-based server application that serves a web-based client.Read 4 Oct 2026 · polynote.org
- Editing
- Features include interactive autocomplete, error highlighting, rich text editing, and LaTeX equations in text cells.Read 4 Oct 2026 · polynote.org
- Execution
- The interface tracks kernel tasks and highlights the statement currently running.Read 4 Oct 2026 · polynote.org
- Maintainers and backing
- Polynote lists three maintainers and acknowledges investment from Netflix OSS.Read 4 Oct 2026 · polynote.org
- Mixed languages
- A notebook can mix multiple languages and share data between them.Read 4 Oct 2026 · polynote.org
- Python support
- Polynote uses Jep to execute Python code within the JVM and supports sharing data between Python and Scala.Read 4 Oct 2026 · polynote.org
- Reproducibility
- Polynote encourages reproducible notebooks with an immutable data model and ordered cell semantics.Read 4 Oct 2026 · polynote.org
- Runtime requirements
- The documentation reports successful testing with Java 8 and Java 11, and requires a working Python 3 environment including pip.Read 4 Oct 2026 · polynote.org
- Spark integration
- Polynote integrates with Apache Spark and supports running Scala and Python code with Spark.Read 4 Oct 2026 · polynote.org
- Visualization
- Polynote includes a plot editor and supports the Vega visualization language.Read 4 Oct 2026 · polynote.org
Plans and prices
Strong points and limits
Strong points
- First-class Scala support
- Mixed-language notebooks share data
- Apache Spark integration
- Reproducibility-oriented cell model
- Jupyter and Zeppelin format support
Limits
- Self-hosted server deployment
- Requires Java and Python 3 with pip
- Internet-accessible deployment is unsafe
- Allows arbitrary remote code execution
Who it suits
Polynote suits developers and data teams combining Scala with Python, SQL, Vega, or Spark. It is intended for self-hosted notebook deployments with Java and Python available.
Verdict
Polynote provides a free, self-hosted notebook for mixed-language and Spark workflows, centered on Scala. Its security warning makes deployment configuration a primary consideration.
Where Specifiction places it
- Notebook Software#20 of 257.4