Home

Zasper

⚡ High Performance IDE 🚀 Massive concurrency 🐥 Inspired by Jupyter

Last Commit GitHub Stars GitHub Issues Github CD status

Zasper is an IDE designed from the ground up to support massive concurrency. It provides a minimal memory footprint, exceptional speed, and the ability to handle numerous concurrent connections.

It’s perfectly suited for running REPL-style data applications, with Jupyter notebooks being one example.

Currently Zasper is supported on Linux and Mac.

Why I built Zasper ?

There are several proprietary JupyterLab-like frontend tools available in the market, such as Databricks Notebooks and Deepnote Notebooks. However, none of them are free or open-source, and most require users to work in the cloud. Even the modest personal computers these days are typically equipped with at least 8 GB of RAM, an 8-core CPU, and a decent 4 GB GPU, I saw an opportunity to create a solution that works seamlessly on local machines. That’s why I decided to build Zasper which can effectively utilize the resources available and guarantee maximum efficiency.

Originally I wrote https://github.com/zasper-io/zasper_py (now in Private mode) to build a new frontend around Jupyter. During the process I realized, Go is the ideal choice to rebuild the Jupyter project. Go has excellent support for REST, RPC, WS protocols. Concurrency and Performance are the areas where Go shines.

Go’s Concurrency: Better suited for applications requiring both concurrency and parallelism, as it leverages multiple cores effectively. It’s easier to handle blocking operations without freezing the system.

Python’s Event Loop: Ideal for I/O-bound applications that need to handle a lot of asynchronous tasks without blocking. However, it struggles with CPU-bound tasks and lacks native parallelism unless additional worker threads are used.

Hence the Go version of Zasper was born!

📷 Screenshots

Editor

Editor

Terminal

Editor

Launcher

Launcher

Jupyter Notebook

Notebook

Version Control

Version Control

Command Palette

Command Palette

Dark Mode

Dark mode

Dark Notebook mode