polynote
A better notebook for Scala (and more)
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.