28 ms·
JupyterLab 4.0
- kzrdude 3y agoAnyone know about compatibility with existing notebooks? Presumably stellar, right? For now, I need jupytext (which is a great extension), so then I stay with v3.6 until jupytext is resolved. For this announcement - or in the changelog - it would be great to know why it is a major version bump - what is the major compatibility change?
- abdullahkhalids 3y agoThis is only a change in the interface. I don't think there is any underlying change in the notebook format. Your old notebooks are completely safe. P.S. Juptext is a pretty cool extension https://pypi.org/project/jupytext/ https://pypi.org/project/jupytext/
- smith-kyle 3y agonbformat is reference implementation of the notebook format: https://github.com/jupyter/nbformat https://github.com/jupyter/nbformat No recent major releases. jupytext is great, you can also review your notebooks as `.ipynb` files using GitNotebooks [https://gitnotebooks.com https://gitnotebooks.com]. (I'm the solo dev)
- sva_ 3y agoI would think of JupyterLab as more of an IDE, and the major version bump need not affect their notebook format. I think if they made breaking changes to the notebook format, they'd mention this right away.
- smith-kyle 3y agoSee https://github.com/jupyter/nbformat https://github.com/jupyter/nbformat
- abdullahkhalids 3y agoI see no mention of an improved debugger. IMHO, the atrocious debugger in JupyterLab is one of the primary reasons why it is difficult to write good code in this environment. Even a simple improvement like remembering the sizes of various subpanels in the debugger sidebar will make me feel like I am not pulling teeth when I use it. And don't get me started on inspecting the value of variables. If you are looking for more than an object within an object, you might as well go back to print statements.
- esafak 3y agoAlso it has a poor multi-user experience.
- mkl 3y agoDo you know how it compares to using Visual Studio Code's debugger with notebooks? I'm wanting to find a notebook debugger recommendation for my students.
- Xeamek 3y agoHave you tried pyCharm? I believe even community (free) edition should have support You are looking for
- mkl 3y agoNo I haven't, but it looks like the community edition can't do notebooks: https://www.jetbrains.com/help/pycharm/jupyter-notebook-support.html https://www.jetbrains.com/help/pycharm/jupyter-notebook-supp...
- Xeamek 3y agoAh, my bad then. If it's for student, you could maybe get educational license, that is completely free for all their products, but I imagine it could be quite a hassle
- qumpis 3y ago
- fancymcpoopoo 3y ago[flagged]
- ModernMech 3y agoThe analyses are just more data to analyze.
- anigbrowl 3y agoComedy is not your forte.
- folli 3y agoCan somebody give me a quick rundown on the difference between JupyterLab and JupyterNotebook? Whose the target audience for each one?
- modriano 3y agoThe Jupyter Notebook interface/server just opens singular notebooks (i.e. one notebook per browser tab). Jupyter Lab is an IDE where you can open notebooks, files, terminals, etc all in one interface. Additionally, you can easily adjust the layout of open files (want notebooks side by side? Click one notebook's tab and drag it to one side of the screen. Want a terminal on the bottom of the screen? Open a terminal and drag its tab to the bottom of the screen. Want 3+ notebooks side by side? Click and drag. Etc). I basically only use the Jupyter Lab interface when I'm working with notebooks (sorry about using the term notebooks so much, it's a synonym for a .ipynb file as well as the name of a server mode Jupyter offers).
- slt2021 3y agowhen I install `pip install jupyter && jupyter notebook`, I can still create Py notebook,s text files or shell terminals. I still dont quite get that is diff btw jupyter nb vs jupyterlab. My understanding is notebook for single user locally, while jupyterlab is multi-user running on server, something like that
- galleywest200 3y agoLab is essentially for power users who need tabs of notebooks and multiple .py files open at a time in a single window. If you ever only work on a _single_ notebook at a time then it is overkill.
- nashashmi 3y ago[flagged]
- anigbrowl 3y ago
- mikepurvis 3y agoI keep experimenting with Jupyter in the context of telemetry/fault analysis and then hitting a wall with it where: - I get an analysis that I like, but there isn't a good way to share it with others, so I end up just taking screenshots. - There isn't a good way to take the same analysis and plug new data into it, other than to copy-paste the entire notebook. - The process to "promote" fragments of a notebook into being reusable functions seemed very high-friction: basically you're rewriting it as a normal Python package and then adding that to Jupyter's environment. - There aren't good boundaries between Jupyter's own Python environment, and that of your notebooks— if you have a dependency which conflicts with one of Jupyter's dependencies, then good luck. Some or all of these may be wrong or out of date— Jupyter definitely passes the "oooh nifty" smell test, and I'd love to figure out how to make it usable for these longer-term workflows rather than just banging out one-off toys.
- proto-n 3y agoAt least for the last point I use conda with the nb_conda/nb_conda_kernels packages, which makes you able to switch kernels to different environments.
- bityard 3y ago> There aren't good boundaries between Jupyter's own Python environment, and that of your notebooks— if you have a dependency which conflicts with one of Jupyter's dependencies, then good luck. It's cumbersome, and I'm not totally sure it's the correct way, but I remember getting around this by creating a virtualenv for my projects and then using that virtualenv's python as Jupyter's "kernel".
- anvuong 3y agoThis is the way. I use miniconda to create env for Jupyter and install only Jupyter and its dependency on that, then I just config it to point to all the other Python envs I use for my different projects. This is only one-time setup and it is absolutely worth it given how messy the ecosystem is.
- 3y ago
- rollinDyno 3y agoI have been using VSCode notebooks with .ipynb file extensions, this gives me many advantages as I am able to configure things I'm not able in JupyterLab. I also have access to a very rich ecosystem of plugins. If there is anyone aware of VSCode as a solution but keeps using JupyterLab, could they explain why?
- anvuong 3y agoMaybe because the Jupyter is setup on the computing server, where everyone needs to log in to do their works? This was the case for my last 4 companies.
- rollinDyno 3y agoI see. If I faced the same constraint I would try to find whether VSCode can access files remotely, which is very likely.
- arijun 3y agoThe VSCode remote access is IMO better than just accessing files remotely; it’s s a large part of why I use it instead of Pycharm. It splits the editor into a UI that is run locally, and a server that does the heavy lifting on the remote machine. Conceptually it’s very similar to Jupiter, where you have a user facing front end with the UI run on JavaScript and rendered by your browser, and a python kernel backend, and the two communicate over pipes that can be run over the internet. What it effectively means for VSCode is that you get a more seamless experience than I experienced with Pycharm remote development.
- arijun 3y agoI use VSCode (with the remote extension) for the situation you’re describing, and find it works extremely well. There are a couple little pain points, but none related to the remote part of the equation. Big positives are how it integrates with the rest of the IDE so go to definition, debug cell, and data explorer just work. Some negatives are a possibly onerous setup if not already using VSCode as your IDE (to get some of the IDE-like stuff to work), and how there isn’t exact parity on hot keys so muscle memory fails you occasionally.
- spywaregorilla 3y agoAnyone got experience with the real time collaboration and have feedback?
- tetris11 3y agoI'm surprised I had to scroll this far down for anyone to ask this question. I've been trying to work out exactly how it works myself for the last hour, and there is no clear indicator on how to activate this mode. No documentation either, barring: https://github.com/jupyterlab/jupyter_collaboration https://github.com/jupyterlab/jupyter_collaboration What am I supposed to be doing here?
- spywaregorilla 3y agoClearly it just works. install that plugin and someone will just instantiate into your notebooks and start editing things.
- riekus 3y agoStill looking for a nice setup with JS. Tried some notebook promises with danfoJS but couldn't find something ergonomic
- impulser_ 3y agoIs there a similar notebook application like https://livebook.dev/ https://livebook.dev/ for Python? I like Jupyter, but after trying out Livebook with Elixir I wish there was something similar in Python. Smart cells and Toggling parts of code on/off is extremely useful features in a Notebook app.
- sireat 3y agoI've been using Jupyter Notebooks for 7+ years but keep failing to find a use case for JupyterLab. JupyterLab feels like a clunky web based IDE. I check it every year or so and go back to Notebooks. I used to and still run a Littlest Jupyter Hub: https://tljh.jupyter.org/en/latest/ https://tljh.jupyter.org/en/latest/ for my org. I keep thinking whether migrating to full blown JupyterLab is worth the pain. With the improvements that Visual Studio Code has made in ipynb support there is even less reason these days. The biggest thing keeping me on VS Code of course is full blown Copilot support. Whenever I have to fall back to Colab I feel 2-3x less productive. My workflow is: * Notebook for exploration/fiddling around 90% of the time is spent here - keeping state open is so convenient * Extract/export code to regular .py for production
- Booleans 3y agoI've been using Jupyter Lab for ages now since it had a dark mode and Notebooks didn't. It's been so many years though maybe that has changed by now and I haven't noticed.
- rocho 3y agoSame here. JupyterLab is just too overwhelming and full of things I don't need. I just need an interactive Python interpreter with support for visualizations and editing code blocks. That's Jupyter Notebook, so I keep using that.
- jonnycomputer 3y agoAnyone have experience with JetBrain's Data Spell product?
- xvilka 3y agoWould be nice to have something like that but completely native - without the need of browser, CSS, JavaScript, etc. Just drawing directly on a surface, e.g. via Vulcan or GTK/Qt.
- thangngoc89 3y agoEven if the main interface is native, you still need an HTML/CSS/Javascript renderer for some of the output because most extension just output HTML and let's the browser do the rendering instead.
- galaxyLogic 3y agoWould this work as my main IDE?
- carso 3y agoI haven't upgraded to JupyterLab 4 because the plugins that I use to make jupyter lab IDE-like (jupyterlab-git, jupyterlab-vim, jupyterlab-lsp) need to all be stable on the new version first. But, yeah, you can develop python software in Jupyterlab if that makes sense for you.
- eskaytwo 3y agoWhat’s the current best-practice workflow for using with git? I see jupytext discussed in the comments but this saves the .py exported file. Is there a good clean method for storing tbe .ipynb files into git? It maybe is easier without the cell outputs?
- takd 3y agoI had good experiences with nbdime.
- enriquto 3y agoJupytext seems the best practice. The ipynb files are output artifacts. Why would you want to store them into git? It would be like storing compiled program binaries.
- eskaytwo 3y agoIn the sense of an evolving notebook that’s used eg like for reports. It would be good to be able to version control this. The output doesn’t need to be saved, but the code itself would be valuable - and then can pull from version control and run.
- fluidcruft 3y agoI use a pre-commit setup that strips and formats notebooks. IIRC I use a bunch of the nbqa hooks (to also apply black, isort, ruff, etc) but I'd have to check if I moved to different versions for some reason. My workflow uses papermill so the notebooks I store in git are essentially "parameterized templates that get instantiated with data". https://pre-commit.com/ https://pre-commit.com/ https://github.com/nbQA-dev/nbQA https://github.com/nbQA-dev/nbQA https://papermill.readthedocs.io/en/latest/ https://papermill.readthedocs.io/en/latest/
- account-5 3y agoQuestion for the more experienced than me but how does JupyterLab/Notebooks compare with the likes of datasette[0]? [0] https://datasette.io/ https://datasette.io/
- nerdponx 3y agoNot really the same thing. Notebooks are a tool for interactive programming, maybe even literate programming if you want. They happen to be most commonly used in data science and data analysis work, where interactivity is important.
- i_am_toaster 3y agoWas a nightmare making extensions in the previous version. The documentation was very scattered/cluttered between different jupyterlab versions. Don’t think I’ll be coming back to it for 4.0.
- zelphirkalt 3y agoMaking extensions is really a lot about looking at their own packages in their repos and looking at the API docs, figuring things out from procedure names and sometimes useless comments, that merely rehash the procedure name as a phrase. Additionally they often point you at their terrible discourse forum for asking questions. More often that not I don't see a good answer there either, when I merely search for one. I think their gitter channel has worked best for me so far, when they did not point me to that forum. Typescript also helps a bit when compiling. Sometimes I visit an old bookmark, that looked like part of official docs by the URL, but find it 404ing. Ultimately I agree, that good and accessible docs is not the project's strong side. I guess I will have to figure some things out again soon when updating extensions to version 4.
- JonChesterfield 3y agoI like my repl. Can anyone tell me whether these notebook things are an improvement? They look a little like a repl instance with a history tracking how you got there which seems like a potential upgrade.
- lukemerrick 3y agoAs you guessed, the history tracking is one of the killer features. Imagine it being super easy to edit the history of a REPL session (delete, reorder, merge, and edit contents of each command) and rerun... That's a notebook! Notebooks also allow for markdown input and rich HTML output (which is killer for plotting) making it possible to polish your REPL history into a document you'd actually want to share with a colleague to explain something like a data analysis workflow. I actually started in notebooks and then learned to love the REPL as a simplified "scratchpad notebook." I'd say in many ways notebooks are an improvement that cater heavily to REPL-lovers, but that for some quick tasks, the extra complexity isn't always worth it.