There are many other Jupyter notebooks with extensive AI integration. These are less (or not at all) open source, but more mature in some ways, having been iterated on for over a year:
- https://noteable.io/ -- pretty good, but then they got acquirehired out of existence
- https://deepnote.com -- also extensive AI integration and realtime collaboration
- https://github.com/jupyterlab/jupyter-ai -- a very nice standard open source extension for gen AI in Jupyter, from an Amazon. JupyterLab of course also has fairly mature realtime collaboration now.
- https://colab.google/ -- has great AI integration but of course only with Google-hosted models
- https://cocalc.com -- very extensive AI integration everywhere with all the main hosted models, mostly free or pay as you go; also has realtime collaboration. (Disclaimer: I co-authored this.)
- VS Code has a great builtin Jupyter notebook, as other people have mentioned.
Am I missing any?
https://www.cursor.com/ - an AI-first VS Code clone
VS Code (and Cursor) has so nice Jupyter support that I find it much better to use it for my workflow, rather than using any dedicated solution for Jupiter Notebooks only.
IMO data scientists often are used to the jupyter form factor instead of the editor form factor, so I see why they would prefer this thing.
I am a data scientist myself, one who moved from academia, vide https://p.migdal.pl/blog/2016/03/data-science-intro-for-math....
I used Jupyter Notebook before it was popular and back when I was a PhD student. I pushed in a few places for the unorthodox way of exploring data in a browser. Now, I am back - but only thanks to wonderful code editors and their good support of Jupyter Notebooks. I recommend VSC (or, this year, Cursor) as the default environment for data sci.
That's a cool blogpost! I'm mostly using Cursor now (just waiting until someone makes a kick-ass Emacs package so I can switch back!) so I can definitely see your perspective.
I'd be curious to hear a bit more about the kind of work you do that made you switch. Also if there's anything you miss in VSC/Cursor vs Jupyter. If you don't mind a small email exchange, let me know and I'll drop you a message :)
Thank you! If it is of public interest, I am happy to discuss it here. If you want to shoot me an email, that would be great.
My path is in "What I do or: science to data science" (https://p.migdal.pl/blog/2015/12/sci-to-data-sci)... and well, a bit more recent one in "Embodiment for nerds" (https://p.migdal.pl/blog/2021/09/embodiment-for-nerds).
Regarding the shortcomings of the Jupyter Notebook, I made a few notes in "How I learned to stop worrying and love the types & tests" (https://p.migdal.pl/blog/2020/03/types-tests-typescript).
Agree with Daksh in the sibling comment. I think it's like you said - different people have different workflows and some might prefer using VSCode. IME though, most data scientists (and all data analysts) I worked with preferred using the company hosted internal Jupyter instance for their work.
Also, as we build more features, we're definitely going in the direction of more analytics workloads (live collaboration, leaving comments, google-doc type versioning, fully AI driven analyses similar to OpenAI Interpreter mode etc) and with these features, I think there will be a clear divergence of feature-set in VSCode/PyCharm vs Pretzel.
If I may ask, are you more on the engineering side (MLE) or more on the data side (Data Analyst)? EDIT: Just saw your other comment!
I am speaking of my experience, and I am an enthusiast for new things. I used the Jupyter Notebook before it was mainstream, or, say, PyTorch, in times when it was obvious that TensorFlow was the default option.
However, in general, I believe that any approach that works is good. And I don't think there is any reason to think that we need to settle with the current data science programming UIs. However, some went with mixed success, e.g. ObservableHQ never took over Jupiter.
In my view, PyCharm and VS Code are not that close to each other. PyCharm is a traditional IDE, while VS Code is more like an ecosystem of extensions. In particular, there is one (surprisingly good) for Jupyter Notebooks.
When developing any new way of interacting with code, there is a question of which ecosystem to use. Having it as a VS Code extension (or clone) has benefits and limitations. So is having it as a Jupyter extension or (the way you went) - clone.
If you want to talk more, happy to move it to emails.
Thank you for the list - I think I've come across all of these in my research! I'll try highlight the differences for each.
- https://noteable.io/ - as you say, it doesn't exist anymore
- https://deepnote.com - Deepnote is closed source sadly - you can't run it locally, you can't tweak it, you need to learn a new interface and switch to it
- https://github.com/jupyterlab/jupyter-ai - I actually mentioned this in the post but in my experience, the UX and features are far behind what we've built already. I'd love to hear from anyone who's tried jupyter-ai to give us a shot and let me know what we're missing! The plus side of jupyter-ai is of course that it supports way more models and the codebase is a lot more hackable than what we've built.
- https://colab.google/ - closed-source, similar challenges as with Deepnote. Another big challenge is that if you want to use Colab as a company, AFAICT, you need use their enterprise version (so that you can have native data collectors, support guarantees etc) and that only works with GCP so if you're an AWS shop, this might be a deal-breaker.
- https://cocalc.com - hadn't used it so far but congrats on a great project! Will check it out. Didn't look in detail but first impressions makes it look like a fairly different interface from Jupyter. One of our goals was to go to where the users already are - that meant Jupyter. So that's definitely a major difference.
- VSCode - as I've mentioned elsewhere, we're targeting a more of an analytics usecase with the features we're building. VSCode has AI features of course! But we'll look quite different once we build more items on the roadmap :)
That is correct, in that it is a completely different implementation. Unlike Deepnote and Colab, we try to maintain the same keyboard shortcuts and other semantics as JupyterLab, as much as we can.
If you don't already, we would love it if you came to the JupyerLab weekly dev meeting and demoed pretzelai: https://hackmd.io/Y7fBMQPSQ1C08SDGI-fwtg?view People from Colab, VS Code, etc. regularly come to the meeting and demo their JupyterLab related notebook work, and it's really good for the community.
Oh cool! I'll definitely try to make it in one of the meetings :)
DataSpell: https://www.jetbrains.com/dataspell
marimo is very good, been using it for a few months now and have switched over to it for most of my notebook-related tasks (it ships with copilot support)
https://github.com/marimo-team/marimo
Not sure if https://hex.tech fits here?