Hey,
I am interested in integrating notebook functionality into my application.
I noticed that VS Code seems to have a custom frontend, and was wondering how this is done?
I found documentation about the REST API, which seems to be for managing content, kernels, sessions, etc.
And I found documentation of the kernel zmq protocol, which seems to be at a lower level.
I had a look with the web inspector at a running Jupyter Lab which seems to use a websocket for executing code and drawing figures and widgets.
With some copy-pasting I was able to execute a bit of code and get a reply.
But I can't find any documentation on this websocket protocol.
I'm particularly concerned about plots and widgets.
For my usage, I think it makes more sense to embed the existing Jupyter Notebook interface rather than re-implement everything from scratch. Is this something that can be done at a more fine-grained level than throwing the entire app in an iframe?
The main challenge is getting interactions between my app and the notebook going. For example creating and evaluating cells/notebooks. And making widgets that do stuff in the rest of the app. Maybe I could write extensions that offer their own API to my app?
For context, I'm writing an app for drawing and simulating schematics.
Something like LTspice, KiCad, or even a bit like Simulink, for those familiar with that.
So it definitely makes no sense to embed the whole thing INSIDE a notebook.
Maaaaybe the entire editor could be a mimerender plugin, but that still doesn't answer the question how the editor can run simulations in a notebook (which plots the results) and then back-annotate results into the schematic.
Curious to hear your thoughts.
Regards,
Pepijn