-
Notifications
You must be signed in to change notification settings - Fork 221
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Building application on top of enterprise gateway #840
Comments
Hi @xinbinhuang - thank you for your interest.
The analogous application dedicated solely to EG would be a Kernel As A Service model. However, if your users are expecting interactions with notebooks, then you'd just deploy EG as a kernel server behind the corresponding Notebook server using Notebook's Since I believe you are indeed talking about a KAAS model, the interaction with EG would be two-fold. You'd use the REST API to perform kernel lifecycle management (start, interrupt, restart, shutdown, list) and a WebSocket for communication with the kernel (code execution). I would recommend taking a look at the GatewayClient we use for our integration testing. It provides basic support for each of these operations and, should you find it useful, would be ideal to promote (i.e., enhance) to something more than the experimental tool that it is.
To interact with kernels directly, you'd likely use
Good question. If you're really just driving at a lower level interaction with a I'm sorry for the scattered response, but I really couldn't determine at what level you're are interested. I hope you find this information helpful and please feel free to continue the conversation. |
@kevin-bates Thank you so much for the detailed reply! It pretty much answer all my questions. And you are correct, Kernel As A Service model is my target. Our current application utilize the old jupyter protocol (before jupyter is separated from IPython), and now it comes to a point that impacts scalability, performance and maintenance. We are trying to upgrade and potentially re-architect the system. Sorry about my late reply, I was pulled away by other priorities in my job so I did not have the time to dig deeper into this yet. But I will definitely come back to this later on when my plate if less full. At the meantime, I am thinking if the project have some |
Thank you @xinbinhuang. I think adding typing hints would be a great way to get familiar with EG, so I've created a (large) umbrella issue (#847) that points to various sub-issues for adding typing hints. Go ahead and grab one when you can. |
Thanks you! I will definitely take a look into it! |
I'm going to close this issue. If you feel your question was not adequately addressed, please feel free to re-open it at that time. |
Help us improve the Jupyter Enterprise Gateway project by reporting issues
or asking questions.
Description
Hi team,
Thank you so much for creating so many good tools on the Jupyter ecosystem.
I am trying to build some web application (something similar to
JupyterHub
) based on the Jupyter messaging protocol and Jupyter Enterprise Gateway. I wonder how should I interact with the gateway properly? Should it be a socket connection or RESTful request/response style?I also notice the project
jupyter_server
, it seems like a good starting point?I have tried to interact with the local kernel using the
KernelManager
andKernelClient
and read through the system architecture for EG. What's the difference betweenMappingKernelManager
andKernelManager
. And if there is a counterpart ofKernelClient
that can used to talk to theRemote(Mapping)KernelManager
.Thanks for your time reading my questions and your responses are much appreciated!
Cheers
Bin
Environment
The text was updated successfully, but these errors were encountered: