New Jupyter client library


Jupyter is a project aiming to “develop open-source software, open-standards, and services for interactive computing across dozens of programming languages.” [source]. It is typically known for the “notebook” and is often used for data science and exploratory data analysis.

The project decouples the notebook frontend from the “kernel” via an abstraction, which allows for many languages to implement these kernels.

I am starting to write a new frontend, which led me to develop a Rust-based kernel-abstraction (or “client”). I wrote a blog post about this here.

I’d love some feedback.


I think you could also post this in the Jupyter discourse, they probably have good feedback too!


Great, thanks for the suggestion! I’ve posted to reddit and got a response from a Jupyter dev - I’m hoping to contribute to the documentation for the wire protocol.


I kind of want to like this, because i like both rust and jupyter, but what i cannot imagine a situation where i would use this library. What’s the intended use case?


I’ll admit I haven’t thought too far down that road. It could be used for alternative Jupyter frontends. I also can imagine Jupyter kernels taking the role of execution engines, perhaps run on demand.

For me it was a great learning experience to learn the Jupyter frontend -> Kernel communication protocol.


Cool, I guess that’s real dedication then! :)