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
Jupyter Server #21
Jupyter Server #21
Conversation
❤️ this, since the APIs on the server side have stabilized quite a bit and I think this is generally useful for kernel-gateway, the notebook, and jupyterlab. /cc @parente |
I'd love for kernel gateway to fade away in the long run or at least become an even thinner layer on top of a core jupyter server. So, yea, 👍 from me. |
+1 to having just a core server providing the rest api (maybe even that should be a plugin???), and all front ends being extensions on that. |
The last remaining step of the big split of the notebook repository is simply a clean separation of the server and the pure front-end code. | ||
|
||
- Create a new `jupyter server` repository that would essentially be a fork of the current `notebook` repository. | ||
- This notebook should be a pure Python package (`server`?) that only provides the backend services. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
server
as a package name seems a very fuzzy and general name (just a Continuum's packager perspective :-)
I'd suggest notebook-server
instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So it seems that people like jupyter_server
which I preempted on pypi. I am 👎 on notebook server because one the points is that it is not merely about the notebook. It is a server for kernels and content. It should work with widgets etc...
Very much 👍 this. Long time coming. As hinted at above, there are a number of things currently bundled that might make sense to break out at this time:
The other services look like they are pretty much required for basic functioning of getting to a hot websocket pointed at a kernel that you can spin up and down. The
Another thing I'd like more of is declarative/discoverable API description. Perhaps not as far as connexion, but at least giving extension authors a place to put swagger spec (or some other, better spec, if it exists). Enforcing it is a whole other can of worms, but at least being able to hit For the end user, there's a lot of doc/muscle memory out there for
|
👍 |
I like the goal of standalone server a lot. What doesn't seem quite right
to me is making the changes in the current notebook when it's already in
maintenance mode and set to be closed entirely when JupyterLab is ready.
It doesn't seem right to me to turn the existing notebook into an extension
that is deprecated before its first release.
Maybe continue with the jupyter_server work as proposed, but leave the
legacy notebook in tact, rather than making it an extension of the new
project for its brief remaining life? That seems simpler, and while it
would result in duplicate code, only one of those pieces would be evolving,
because the other has been frozen and is waiting to be replaced by its
successors.
|
I am in favor of this effort. Seems like the main question is this: "do we start to depend on jupyter_server in the classic notebook now or ever." Personally, I am fine doing that for the 5.0 release of the notebook. This is important enough that we may need to discuss it with a larger group of people at our weekly meeting. |
Most of the issues in the notebook repos are about the front end, so I am not too worried about migrating the issues. Regarding the work on the jupyter server, in any case it is probably a good thing to get started early on the server extension mechanism. |
I'm on the fence, but currently leaning toward not adding the new server as a dependency for the notebook package, and letting it be a clean fork. Since we are proposing breaking changes and a new extension system there, it seems like it would be painful for both us and users to try to move forward with a new package while using it in Since the current plan means that the To me, the main deciding factor is how much more development do we expect to do on the notebook, and there seem to be widely varying views on that point. The only downside to forking jupyter-server instead of adding it as a dependency is that changes/improvements in jupyter-server will not show up in the existing notebook application. I'm not sure that's a bad thing, though, depending on what is planned for those changes. |
@jasongrout @blink1073 this to be a good place to add your proposal about how to handle configuration of extension and default url when launching apps. |
As requested: For JupyterLab, we are using the |
After talking with @SylvainCorlay, I've opened #28 with a new draft of the Jupyter Server EP. Anyone who is interested, feel free to share feedback there. Thanks! |
Closing as super-seeded with #28. |
As discussed in person with @ellisonbg @blink1073 @afshin @jasongrout and @ivanov.
This PR proposes the creation of a bare jupyter server project, effectively completing the Big Split, and making the current notebook a server extension for the jupyter server.
The new project would differ from the current notebook in how extension are distributed, enabled and installed. This is discussed in further details in the PR.