by po84 on 12/30/15, 1:29 PM with 23 comments
by ericjang on 12/30/15, 5:31 PM
Sort of like a combination of GFX.js: https://github.com/clementfarabet/gfx.js/ and PyWidgets, except widgets are no longer constrained to a single cell and the interface is not limited to cells.
This would make it really easy to prototype IDEs and other programming tools in the browser or on native clients - in general it's pretty hard to write an IDE or graphical tool because one needs to integrate system calls to whatever graphics frontend they are writing. However, Jupyter's kernel architecture gives that away for free.
by lqdc13 on 12/30/15, 4:06 PM
Starting with Ipython Notebook, but a little unwieldy sometimes. I really hope they keep improving. It seems like all the cool features were introduced early on and then over time there has been almost no progress in the areas I've been using it for.
Some of my criticisms that I hope somone has a good workaround for for now:
Issues I have with it that are not bugs:
- Have to keep a separate firefox profile so that the notebooks don't get lost among other tabs. Maybe a separate built-in Firefox profile or chromium browser would help or maybe its own built in browser that would make it more of an IDE.
- Stores data frames and such in memory. Not clear which variables are taking up all the space. I guess restart the kernel... This is not as much of a problem with Ipython because those sessions tend to be more ephemeral. So tracking of variables by memory usage would be wonderful.
- Freedom to edit any cell results in a bit of a mess quickly with out of order execution of things. Probably some kind of organizational strategy they could encourage through the UI would be great. Otherwise, reading others' notebooks is impossible unless they polished it for some time.
- Scrolling is really bad if a command created a lot of output.
- Searching through worksheet is not intuitive. Always have to look up ipython manual.
Issue that I think is a bug and is the major reason I'm not using it more often:
- Cannot reload modules easily. %load_ext autoreload %autoreload 2 doesn't work. %autoreload 1 doesn't work.
Tested on OSX and Linux.
Sometimes after messing with it for a while it starts working for a bit but then segfaults. I should look into this more.
Same problem with ipython, but this is more of an issue with the notebook because it has more of a permanent state than terminal sessions. You end up having to restart the kernel and lose everything in memory, which is the main reason to use the notebook in the first place.
It would be really cool if there was a feature that let you know when you modified a function but are using the result of it that was obtained before modifying it. Or if you modified a module but are using the old version.
by michaf on 12/30/15, 7:38 PM
The critical missing features in my opinion are 'undo' and proper integration with Git (or another VCS).
by 746F7475 on 12/30/15, 5:56 PM
by lunchladydoris on 12/30/15, 3:41 PM
by pen2l on 12/30/15, 4:44 PM
I've been out of the loop for some time it seems -- what is this 'Jupyter'? It looks like it's basically ipython... how is it different from ipython? Is it ipython2.0 in spirit or something?