That said, a desktop JupyterLab is still very valuable as it increases accessibility dramatically, but it's no longer the only player in the space.
That said, a desktop JupyterLab is still very valuable as it increases accessibility dramatically, but it's no longer the only player in the space.
What I love about VS Code Notebooks - it's almost zero context switching to jump from the the code you are working on to a REPL and back.
What I don't love about VS Code Notebooks (and why I still spend a lot of time in JupyterLab) - the context gets confused as to what cell you are in frequently - so your Ctrl-Enter keys don't work, and you have to manually run each cell one at a time.
~Removed comment about graphs not being inline~ - I stand corrected. Just checked an the latest version does let you show your graphs inline. And they look awesome.
Hmm? The latest demos seem to imply that a plt.show() does embed the plot images into the Notebook.
The major limit on cell outputs is more limited interactivity.
I'm surprised to see it recommended on HN, it still felt "alpha" to me.
Pyviz (panel, holoviews, etc) interactivity doesn't look like it works yet. Ipywidgets might be enough, though!
JupyterLab has had debugging for a while. It seems to be broken in both VSCode and Jupyter, though (or, rather, it hasn't broken on the breakpoints, where it ought to have broken). Ah well, probably needs more futzing around with the kernel.
I know VS Code has been making progress recently but a good jupyter competitor with some halfway decent software development features would be a game changer.
And since rMarkdown just uses pandoc under the hood, it's a bit unfair to say it has better export options than ipynb which is also supported by pandoc.
I've switched to that instead of notebooks, and loving the text-based life... gittable, diffable, peer-reviewable code, etc.
Imagine you want to read a lot of data from csv file and plot a graph of it. But then you realize that the alpha value used for graph should be 0.3 rather than 0.1. In real env, you would need to read the huge amount of data again. In notebooks, you avoid that!
The problem come when you want to make that process reusable for other CSVs, on other machines, in other environments, to repeat it in the future, to test components of it, to make and track changes over time, to share with a coworker, etc.
Similarly, comments about ‘how do I distribute a Smalltalk program if it’s just the image of the entire VM’ rhyme just a bit to my ear with ‘how do I share my notebook with my coworker if it’s really the agglomerated state of my interpreter and language environment’
No big deal other that talking rumors without reading manuals.
I still run jupterlab for my "main" environment, but I've been using VSCode to explore notebooks I download from the web. Very convenient.
Some more demos: https://code.visualstudio.com/learn/educators/notebooks
Once the extensions are installed, just open an .ipynb file in VS Code.
That said the convert jupyter NB to Python in VS saves a lot of time.
The extension that enables Jupyter Notebooks is here: https://github.com/Microsoft/vscode-jupyter