Polynote is an innovative polyglot notebook environment that improves on traditional interactive computing tools by enabling multi-language notebooks where users can mix languages like Scala, Python, SQL, and more within a single document while sharing variables and definitions seamlessly across those languages. Designed to address shortcomings in classic notebook solutions, it blends features familiar from IDEs — such as smart autocomplete, parameter hints, and better runtime insights — with the flexibility of notebook workflows, enhancing both developer productivity and data exploration. Unlike many notebook environments that are tied to a single language kernel, Polynote tracks and manages state consistently across cells based on execution order and cell dependencies, which reduces hidden state and makes notebooks more reproducible and understandable.
Features
- Polyglot notebook support for Scala, Python, SQL, and more
- Seamless variable sharing across languages
- IDE-inspired editing with autocomplete and parameter hints
- Improved runtime insight and debugging support
- Integration with distributed compute like Apache Spark
- Open-source under the Apache-2.0 license