Developer Prasun Anand has released an IDE “inspired by Jupyter” on GitHub. Zasper is open-source and requires only a quarter of the RAM and CPU capacity of JupyterLab.
Anand admits that there are already alternatives to the frontend tool JupyterLab, such as Databricks Notebooks and Deepnote Notebooks. However, what sets Zasper apart is that it is entirely open-source on an AGPL-3.0 basis and runs a lot more efficiently locally than JupyterLab. Additionally, the Databricks and Deepnote alternatives are cloud-based, which seems unnecessary because of Zasper’s footprint. “While JupyterLab uses about 104.8 MB of RAM and 0.8 CPUs, Zasper uses 26.7 MB and 0.2 CPUs,” Anand said. The goal is to provide an increasingly efficient, complete IDE that will become separate from Jupyter Notebooks and easy integration for existing tooling.
Sole maintainer
For now, Zasper is a project that only Anand maintains full-time. However, he welcomes contributions in the form of documentation, reporting bugs and sending/reviewing pull requests.
The chance of success of such projects is always difficult to assess, as the involvement of others tends to encourage the adoption of new tools and does not arise predictably. But criticisms of JupyterLab abound, such as the observation that the UI is “over bloated and bugged” and there is more input lag than with, say, Vim.
For Zasper, though, there is still a path to maturity to be taken, as with any fledgling FOSS project. “While it seems like a lot of effort has gone into this, an alternative should support the same platforms, languages and related tooling, not just run on macOS, partial support on Linux and IPython,” states one developer.
Written in Go
Under the hood, Zasper runs on the Go programming language. This explains the performance improvements over Jupyter Notebook, which is built with a mixture of various open-source libraries and different languages, including Python. During an earlier project, Anand discovered that Go was the ideal language for a rebuild of the Jupyter project. “Go has excellent support for REST, RPC and WS protocols. Concurrency and performance are the areas where Go shines.”