fonsp / Pluto.jl

🎈 Simple reactive notebooks for Julia
https://plutojl.org/
MIT License
5.02k stars 293 forks source link

Feature request: Jupyterlab plugin #269

Open marius311 opened 4 years ago

marius311 commented 4 years ago

I haven't seen this mentioned anywhere, so apologies if its already been discussed.

I've really enjoyed playing with Pluto, but the thing that would definitely get me to use it almost always would be if it were part of Jupyterlab. I can image two ways: 1) if it could somehow use their Notebook UI, so all of their familiar notebook stuff were there, including manipulating cells, their editor, keyboard shortcuts, etc... I can imagine Pluto is too different from a "Jupyter kernel" to work just as a new kernel, but maybe there's a way to still use their notebook interface. If not, I think even 2) just a plugin where you could have a "Pluto tab" inside of Jupyterlab would be incredibly useful, as you would still get the Jupyterlab filebrowser, multipane setup, terminal, etc...

Another really important thing having some Jupyterlab integration would bring is that Jupyterlab is widespread on HPC setups. Every cluster I'm on has a Jupyterhub server where with a single click I can launch a Jupyterlab instance running on a compute node or a GPU node inside of submitted job. If I could keep doing this and then just open up a "Pluto tab" within one of these Jupyterlab instances, it would be incredibly powerful. Currently, its much harder to get Pluto running inside one of these jobs and tunnel everything back to my laptop. Definitely not impossible, but far from one-click, but you'd get that for free inside Jupyterlab.

Maybe some aspect of integrating with Jupyterlab would also overlap with VSCode integration, which I've also seen mentioned elsewhere. In any case, just some ideas, and good luck!

fonsp commented 4 years ago

Thanks for your thoughts, I'm working on this!

https://mybinder.org/v2/gh/fonsp/vscode-binder/master?urlpath=lab (does this link work?)

I got it running, but I'd like to make it more like your suggestion 2).

I'm also thinking about doing the same, but with VS Code as a replacement for jupyterlab. This seems to be the future, and VS Code is much more useful if you want to develop standalone Julia scripts and packages.

marius311 commented 4 years ago

(does this link work?)

That does work, nice, that was fast!

Thanks for taking a look and glad to hear its on your roadmap.

fonsp commented 4 years ago

I managed to install it as a lab extension, but still have lots of questions. Demo: https://github.com/fonsp/pluto-on-binder which is a stripped down version of the link i sent in my earlier comment

Could someone with experience in JupyterLab contact me? (maybe @marius311 or @marketneutral ?) We can probably get this done together :)

fonsvdplas@gmail.com

marius311 commented 4 years ago

Do you have a code snippet or link to some docs that show how I load the code here as an extension? I'd be interested in trying to help.

fonsp commented 4 years ago

Yeah have a look at https://github.com/fonsp/pluto-on-binder - that's all I know

marketneutral commented 4 years ago

Could someone with experience in JupyterLab contact me? (maybe @marius311 or @marketneutral ?) We can probably get this done together :)

It would be an honor to help with Pluto.jl, but I don't have any experience in building JupyterLab extensions (in fact, I have moved away from Lab back to the classic notebook b/c I have so much trouble with even getting existing released extensions working).

fonsp commented 4 years ago

Moved here: https://github.com/fonsp/PlutoUtils.jl/issues/4 in particular, https://github.com/fonsp/PlutoUtils.jl/issues/4#issuecomment-717832218

but I will leave this open for visibility.