Embedding interactive notebook in desktop app

How would I embed an interactive Jupyter Notebook into a desktop app?

I have an existing native desktop app for visualizing proprietary data files. I want to add a new view to this app containing an interactive Jupyter Notebook that can be used to interact with the host app’s data with tools like pandas, R, etc.

I figure the UI piece would be easy: I can just create a web browser view and point it at whatever URL needed. However, I’m not sure where to begin with spawning a local server, or how expose the host app’s data to the notebook commands in that server or kernel.

Ideally I could distribute this to other users as a self-contained plugin for this app, without them having to install a bunch of software globally on their systems.

Any tips, examples, or starting points would be appreciated.

Have you seen nteract? If you didn’t already gave an existing app that would be the way to go.
If you need to further control the viewing, maybe this post would give you some ideas of tech you can try? Or along those lines, maybe Juniper or Thebe would help you in how to integrate what you need. (More about a Juniper integration here.)