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. https://jupyter-server.readthedocs.io/en/latest/developers/rest-api.html And I found documentation of the kernel zmq protocol, which seems to be at a lower level. https://jupyter-client.readthedocs.io/en/stable/messaging.html 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. I looked around in https://github.com/microsoft/vscode-jupyter a bit and there is a lot going on. They seem to have custom implementations for all sorts of 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 -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/03ed66ab-2ffe-47cf-bf1d-66d224f513f8n%40googlegroups.com.
