Skip to content
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

Graduate NB2KG #59

Closed
lresende opened this issue Dec 4, 2017 · 7 comments
Closed

Graduate NB2KG #59

lresende opened this issue Dec 4, 2017 · 7 comments

Comments

@lresende
Copy link
Member

lresende commented Dec 4, 2017

We have been discussing throughout differents PRs that we should graduate NB2KG, and below are some of the suggested options:

  • Graduate NB2KG as a sub-project under Jupyter Enterprise Gateway
  • Incorporate the NB2KG functionality to Jupyter Notebook (e.g. jupyter notebook --gateway_url http://foo:8888

Let's use this issue for discussing any other alternatives and/or suggestions in a centralized place

@parente
Copy link
Member

parente commented Dec 5, 2017

We discussed moving the nb2kg code to https://github.com/jupyter-incubator/nb2kg during the Jupyter dev call today. No one there had any objections. I can take this ticket to move the code sometime this week or next.

@parente
Copy link
Member

parente commented Dec 5, 2017

As for merging it into notebook itself, two possible approaches come to mind:

  1. Send the PR to notebook with a hefty description as to why, what it's enabling, and have a discussion there with code in hand.
  2. Get people more familiar and comfortable with nb2kg as its own incubator project, state from the beginning the goal is to ultimately get it into notebook, work out any kinks there, and then send the PR to notebook down the line.

I don't have a read on people's thoughts on nb2kg functionality directly in notebook at the moment to know which is better.

@kevin-bates
Copy link
Member

kevin-bates commented Dec 5, 2017

That would be great - thanks @parente.

Although I'd love to have nb2kg embedded in Notebook - as @lresende mentions - I believe it would be viewed as opening the floodgates for a number of other server extensions (i.e., where do you stop?) even though it would be fairly trivial and lightweight to bolt it into NB. I'm curious if that avenue was discussed today (sorry, I guess our updates crossed - leaving mine as is). Yes, I suppose we can take approach 2 for now.

Once moved, I think we should publish an update to pypi (and conda forge?).

@parente
Copy link
Member

parente commented Dec 18, 2017

I found jupyter/notebook#3006 about adding configuration overrides to support custom handlers in notebook. I am delaying creating the jupyter-incubator/nb2kg repo to see how that PR shakes out. If you'd like the incubator project created ASAP however, give a shout.

@kevin-bates
Copy link
Member

Thanks Peter - sorry for the delayed response.

Since the jupyter/notebook#3006 PR falls short on actually merging NB2KG into the Notebook repo, I'm inclined to move forward with NB2KG's promotion to an incubator for the following reasons.

  1. Merging into Notebook will require further, and perhaps extensive, discussion and I think we need to publish a 0.0.2 release sooner.
  2. There may be some other items that come up that warrant changes that would be good to get in before the merge since we'd want NB2KG to be virtually complete as post-merge changes will require more time to get published.

One area that I'd like to see improved is richer error messaging back to the client (from the gateway). While the gateways (kernel and enterprise) raise detailed exceptions (that are logged on the gateway server), only the error code seems to be propagated. I'm unfamiliar with HTTP error messaging and haven't actually looked into it, so I'm uncertain there's more that can be done, but I think improvement in that area could go a long way to helping our gateway clients.

I'd love to hear others' opinions.

@parente
Copy link
Member

parente commented Dec 26, 2017

I went ahead and created https://github.com/jupyter-incubator/nb2kg. If it turns out the extension is not needed one day, removing the repo can be a form of graduation.

I used the git filter-branch command to extract the nb2kg subfolder with its full history from this project and pushed it as the master branch in the new one. I invited all of the collaborators from jupyter-incubator/enterprise_gateway to then new project with equivalent permissions. I also added the original collaborators from the kernel_gateway_demos project. A nb2kg package was never pushed to pypi, so there's no permissions to configure there.

I'm going to submit a PR here momentarily that removes the nb2kg code from this repo and leaves a simple README in its place pointing to the new location.

@kevin-bates
Copy link
Member

Awesome, thank you @parente!
I'll update README.md since I'd like to add reference to enterprise gateway anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants