-
Notifications
You must be signed in to change notification settings - Fork 11
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
JupyterLab integration #4
Comments
lungben#3 is to make Pluto work with Binder, which is essentially Jupyter. This works right now
|
We can run Pluto notebooks as Lab tabs: Also set a very high HTTP timeout (60 works) |
@koehlerson wrote this handy guide! |
let me know if you need the post without the teaching stuff overhead somewhere |
Could someone take a look at: https://github.com/illumidesk/jupyter-pluto-proxy Which Pluto version does it use? Will it be stuck on an outdated version? @jgwerner It's listed in the official jupyter server proxy docs: https://jupyter-server-proxy.readthedocs.io/en/latest/examples.html |
The repo itself or the binder? Binder used 12.4. when I tried. I think it will work ootb as long as these lines don't change for starting a Pluto.jl Server https://github.com/IllumiDesk/jupyter-pluto-proxy/blob/main/jupyter_pluto_proxy/__init__.py#L23 |
HI @fonsp ! First of all kudos for developing Pluto, 💯 We can update Pluto in this example repo no problem, should we just update Pluto to the latest stable release? We could also add a bot to automatically create a PR to update the version when you cut a new release. In our case, the use-case was to set up a POC since our tool uses the JupyterHub and some folks are more on the Julia side of things than Python. @koehlerson regarding the default command, we can update that too. As far as the perceived official status goes, we sometimes send a PR to the jupyter-server-proxy repo and/or add jupyter-server-proxy as a repo topic. Both of these were recommendations from @betatim from this thread. To avoid duplicating "official" repos, we would gladly transfer what we did to your GH account/org and help contribute to the repo in your account. |
@koehlerson @barche @jgwerner @GiggleLiu You have all managed to run Pluto on JupyterLab, that's great! @koehlerson even wrote a detailed guide: https://www.maximiliankoehler.de/posts/pluto-server/ Let's work together to create a simple and clear way for people to install Pluto as an extension.I think @koehlerson has done most of the work already, but still left is:
And then we can close this issue! |
FYI, the differences between
|
Hey Fons, Feel free to remove the If you are interested in the interaction of WGLMakie and such a Pluto.jl server, I can also describe in a short tutorial how admins can set this up. |
This is a very nice initiative, I'm certainly willing to describe more in detail what our setup is and integrate pluto-on-jupyterlab into our workflow. I had a quick look at @koehlerson 's nice guide, but most of it is actually about setting up jupyterhub (i.e. the multi-user server) itself, and there are many different approaches for that. We use the docker spawner, where each logged in user starts up jupyterlab in his own docker container and can also launch Pluto from there by clicking a button. The actions needed to add Pluto are actually quite simple and just a short part, so we should maybe delimit what part exactly we want to describe as part of the Pluto documentation. |
Hi, @fonsp and @koehlerson I just tried this exciting new feature following @koehlerson 's nice blog. From a user perspective, I feel the blog is clearly written. So far, except the user permission issue, it works perfectly. Hope the following feedbacks can be helpful. about the blog writting
[I 2021-01-06 18:24:05.452 JupyterHub spawner:1451] Spawning /opt/jupyterhub/bin/jupyterhub-singleuser --port=34457 --SingleUserNotebookApp.default_url=/lab
Couldn't set CWD to /home/grubby ([Errno 2] No such file or directory: '/home/grubby')
Traceback (most recent call last):
File "/opt/jupyterhub/lib/python3.6/site-packages/traitlets/traitlets.py", line 528, in get
value = obj._trait_values[self.name]
KeyError: 'runtime_dir'
about pluto-jupyter
|
thanks for the input @GiggleLiu ! I think we clearly need to differ use cases. For me I want that no one adds packages except sudo users. Outside the realm of teaching it makes sense to let users add packages on their own. But, if there are multiple ones and you share a common depot path, then you need to be careful. @barche can you access with this approach the proxy pluto server? So, something like this: user = ENV["USER"]
external_ip = "134.147.244.113/user/$user/proxy/"
port = 3389 Thanks again to everyone contributing to this! |
Thanks for the reply.
nice!
Yes, an AWS host has a static IP and also a url. I think this is worth mention in the blog so that people can skip this sector with confidence. |
@fonsp Let me know if you would like us to hand over the repo to you to ensure proper upgrades. We would also be glad to help you out here and perhaps attempt to automate creating PRs when you release a new version. My 2 cents is that JupyterLab version 3.0 was just released as far as I know those extensions are not compatible with 1.x/2.x extensions. |
Whatever you think is best! You all understand this much better than I do |
@fonsp That I doubt very much 😄 - I vote for passing this on to your account (or an org that you designate) and then we would be glad to contribute any/all code we feel necessary to the code in that location. What do you think? |
@fonsp could you create a repo for your account for I'll do my best to update deps/docs for the first PR to your account and then open issues in your repo for items that we have taken note of. As a side note, we can provide the step to add the |
Okay! But don't we already have this here? https://github.com/fonsp/pluto-on-jupyterlab/tree/master/plutoserver It has to be clear for people what they need to install (and how they update Pluto after it is installed), so having a single repository would be helpful. |
@GiggleLiu the compatibility with 3.0.1 seems to be a problem with jupyter -- see this comment (They're waiting for extension compatibility before updating Docker stacks to 3.0.1) |
@fonsp Ah cool! I'll review that repo then and send a PR in case we see something that we have on our end that is missing from yours. Then we will archive ours and add yours as a reference in the Readme. |
@GiggleLiu @jgwerner @koehlerson Can we try to create a single guide that explains how to install pluto as a jupyterlab extension? I still don't know what to say when people ask me :( |
I'm currently using the unmerged PR from @pankgeorg, in the way described here: https://github.com/barche/plutohub-juliacon2021 |
@fonsp we are just using the |
Help welcome!
I managed to get this working for one setup, but I am not sure how to make it more general so that other people can install it.
The repository is here:
https://github.com/fonsp/pluto-on-binder
with a demo on binder:
https://mybinder.org/v2/gh/fonsp/pluto-on-binder/master
(it's one of the options when launching a new kernel/notebook)
or you can skip the Jupyter UI and go straight to Pluto:
https://mybinder.org/v2/gh/fonsp/pluto-on-binder/master?urlpath=pluto
I also got it running as jupyterlab extension with a nice button and logo
It sets up jupyter for binder with the http server proxy extension, and installs a mini python package that is used by Jupter as an extension, available through
?urlpath=pluto
.Goals
The text was updated successfully, but these errors were encountered: