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.

Reply via email to