A Neovim plugin for interactively running code with Jupyter kernels, providing a REPL and notebook-like experience directly in the editor.
Molten is a Neovim plugin that allows interactive code execution using Jupyter kernels directly within the editor. It enables developers to run code snippets, visualize outputs like images and plots, and maintain a notebook-like workflow without switching contexts. The plugin solves the problem of disjointed workflows by integrating computational environments seamlessly into Neovim.
Data scientists, researchers, and developers who use Neovim and Jupyter kernels for iterative coding, data analysis, or prototyping. It's ideal for those who prefer staying in their editor while running interactive code.
Developers choose Molten for its smooth integration with Neovim, real-time output rendering without flicker, and support for multiple kernels and rich media. Its fork of magma-nvim brings improvements in image rendering, performance, and extensibility.
A neovim plugin for interactively running code with the jupyter kernel. Fork of magma-nvim with improvements in image rendering, performance, and more
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Molten sends code asynchronously to Jupyter kernels, displaying outputs in real-time as virtual text or floating windows without flicker, as emphasized in the README's feature highlights for a seamless experience.
It renders images, plots, and LaTeX formulas directly in Neovim using providers like image.nvim or wezterm, enabling data visualization within the editor without switching contexts.
Supports sending code from multiple buffers to the same kernel or from a single buffer to multiple kernels, offering versatile workflow management for complex projects.
Can import and export outputs to and from Jupyter notebook (.ipynb) files, facilitating interoperability with existing notebook-based workflows, though it doesn't convert notebooks to plaintext.
Requires Neovim 9.4+, Python 3.10+, several mandatory Python packages (e.g., pynvim, jupyter_client), and optional plugins for full functionality, making initial configuration cumbersome.
image.nvim is buggy with large numbers of images and doesn't work on Windows, while wezterm requires the WezTerm terminal and has tmux incompatibilities, restricting cross-platform usability.
As a remote plugin, it adds complexity to Neovim's architecture, requiring users to understand remote plugin nuances, which can lead to debugging challenges and performance overhead.