stdlib-js / google-summer-of-code

Google Summer of Code resources.
https://github.com/stdlib-js/stdlib
23 stars 5 forks source link

[Idea]: develop a Jupyter backend for interfacing with the stdlib REPL #16

Open kgryte opened 1 year ago

kgryte commented 1 year ago

Idea

Jupyter is a dominate force in scientific computing. While some effort has been done to expose JavaScript kernels to Jupyter/JupyterLab, most of these kernels are under-developed or lack numerical functionality.

The goal of this idea would be to develop a Jupyter backend based on stdlib.

Expected Outcomes

A JupyterLab user will be able to connect to a stdlib kernel and invoke stdlib operations.

Involved Software

This goal will require interfacing with the Jupyter technology stack, including ZeroMQ and implementing messaging protocols.

Prerequisite Knowledge

JavaScript, Node.js. Experience with Python would be very helpful.

Difficulty

Hard.

Project Length

350 hours. This idea has many unknowns and will be hard to scope.

Potential Mentors

@kgryte @Planeshifter

kgryte commented 3 months ago

Prior art: https://github.com/n-riesco/ijavascript

kgryte commented 3 months ago

Deno:

kgryte commented 3 months ago

Prior art: https://github.com/yunabe/tslab

kgryte commented 3 months ago

In short, the idea here would be to do something similar as IJavaScript, Deno, and tslab, but which directly connects to the stdlib REPL and takes full advantage of everything that stdlib has to offer (especially documentation and built-in functionality).

kgryte commented 3 months ago

For those interested in learning more about the stdlib REPL, after cloning the main project repository and setting up your local dev environment (follow the project development guide), run make repl from the root project directory. From there, enter help( tutorial ) and explore what the REPL has to offer.