Hacker News new | ask | show | jobs
by nl 1065 days ago
> Both Jupyter Notebook and JupyterLab are widely used across data science, machine learning, computational research, and education.

Are they though? Does anyone actually use JupyterLab by choice?

From what I've seen people love Jupyter Notebook but find JupyterLab misses the mark (and this is certainly my experience).

14 comments

I primarily use Jupyter Lab. I have some frustrations but I generally like being able to manage multiple kernels from one notebook, having multiple views into one notebook, having context-sensitive help, and having some of the other features that were only in Lab.

That being said, I'm glad they've switched course and continue to work on Notebook once it became clear some people preferred it to Lab. With some of the added features and the ability to switch between Lab and Notebook more easily, I may give Notebook another try.

How does mixing and matching kernels in one notebook work? Can you directly exchange data between cells of different kernel types somehow? Do you go through the filesystem or some kind of in-memory serialization?

(I'm sorry for the questions that could be answered from documentation, but I can't find the docs on this feature! I have been wanting to specify data cells in a notebook, like the markdown cells, and then reference their contents from a code cell)

What is the usecase you have for multiple kernels in one notebook?
In my field (genetic epidemiology), there are annoyingly un-standardised toolsets. There are libraries in R, python, and C/C++ binaries. Being able to string these together in one notebook is helpful.

That being said, I usually just stick to one notebook per thing.

It's not using multiple kernels in one notebook, but being able to manage all my kernels without opening up another window.
I have seen the exact opposite. JupyterLab is far more dominant. Including cloud service providers like AWS’ Sagemaker using it as the go to simple data scientist interface.

I started strongly advocating for it pretty much immediately. The waste of space on the margins of the notebook view was (is?) awful.

> The waste of space on the margins of the notebook view was (is?) awful.

If that is your only concern, it will probably be quite easy to write a user style sheet to fix it.

> Are they though? Does anyone actually use JupyterLab

I always use JupyterLab by choice.

However between JupyterLab and VS Code Jupyter, it’s VS Code every time. It’s just so much better.

Interestingly this new Jupyter Notebook v7 is basically JupyterLab, but extensively configured to have a UI very similar to Jupyter Notebook. Under the hood it is a completely different (and much more modern) codebase than Jupyter Notebook 6.x, and it’s really cool that this finally landed!
I am confused. Isn't Jupyter Lab the same as Jupyter Notebook but also with a file chooser and some extra functions? I don't care a lot which one I'm choosing. I always open Jupyter Lab because it has some very small neat additions. Why would I want to want to use Jupyter Notebook without the Lab interface around it?
It’s literally the same except Lab has a file picker, but it’s a meme for some people to pretend Lab is some sort of disaster.
Yeah, another thing you can do is offer Labs as a service (Jupyter Hub) to a group of users and then you can do things across the org like preinstalled requirements, shared or persistent storage, federated users, etc. If you run this on kubernetes it'll spawn up and down labs as people login/out and let you manage lab lifecycles, proxying, etc. We bundle Hub with our AI product at $work to give our users a packaged experience.

https://jupyter.org/hub

I've long switched to Emacs/Org, but used JupyterLab extensively before (as a data scientist). It's way more powerful than vanilla notebooks since you can open notebooks/code/related side-by-side, easier to extend (with lab extensions), etc.

I always thought people only still used vanilla notebooks because that's what people say they use, e.g. "I work with Jupyter notebooks" (even though that may well be in JupyterLab). So most regular users wouldn't necessarily know about JupyterLab.

I have used org-mode/babel as a notebook replacement, and obviously the flexibility and the editing capabilities are vastly superior to Jupyter notebook, but I fund it sluggish. I assume that, at least in my setup (using babel-python), the kernel is invoked synchronously. I also didn't try to get any form of completion working, but it should be possible and it would be nice to have.

What is your setup?

I use emacs-jupyter, which has async execution. Sorry for the late reply, only just now noticed this!
There is ob-async that worked well back when I tried it. Might be worth a look if the synchronous nature of the executions is slowing you down.
jupyterlab is a lot more popular than notebook in my workplace.

There is literally no downside to using it over notebook, why would you prefer notebook at all?

the file browsers, the terminal, the plugins, ... so much better

I uses nteract aside jupyter notebook for a while because I simply wanted a thing where you doubleclick a ipynb and it opens it up, without a lot of tabs, clutter and such. Back then jupyter notebooks were still somewhat cumbersome and had a very slow startup time.
100% tons of DL/ML researchers use Jupyter. I think the problem that most have is deploying the apps in prod.
I vastly prefer lab to notebook. My impression is that lab is just notebook with slimmer margins tabs, overall better UI, what am I missing?
Notebook classic for me. Vim keystrokes + Black plugin for formatting. I hate JupyterLab, have tried it multiple times. Have tried VSCode and PyCharm’s notebooks (I use PyCharm for actual development). I always go back to Classic as it just feels right.
The couple of times I experimented with jupyter ecosystem, it was only through labs. I thought notebook is the barebones app and labs is the more integrated ide like approach. But still for some reason didn't stick with it.

Would you mind sharing the areas where you feel lab falls short and where notebook does it better?

I want to give notebooks a try.

If there isn't jupyterlab, I will just stick with google colab. Same notebook but lightyears better inplementation. You can tab to autocomplete code off the shelf in colab.
I run Jupyter lab with R and Python kernels for bioinformatics analysis. I saw it once in some tutorial and kind of liked it more than notebook.
Strongly agree.