I recently wrote on how to build/grow clean software out of Jupyter notebooks and on pitfalls to avoid when coding like that: https://github.com/guillaume-chevalier/How-to-Grow-Neat-Soft...
Why Jupyter is data scientists’ computational notebook of choice
151–160 of 308 posts
Re: Why Jupyter is data scientists’ computational notebook of choice
#152Earlier quoted context omitted.
Diffing JSON as text must be painful. Diffing JSON as data should be somewhat simple.
Are there any merge tools that offer features for this a lot more sophisticated than basic text comparison?
Edit: to clarify, jq -S does deep keys sorting.
$ echo '{"z":{"b": "second", "a": "first"}, "x": 4, "y": 7}' | jq -S
{
"x": 4,
"y": 7,
"z": {
"a": "first",
"b": "second"
}
}Re: Why Jupyter is data scientists’ computational notebook of choice
#153Version control for Jupyter notebooks was one of the biggest complaint I had. Specifically, diff and merge with the JSON files (.ipynb) is ugly. I built ReviewNb[1] to solve one of those problems (diff). Note that, there is nbdime[2] which works well for local diff/merge. The idea for ReviewNb is to have much tighter integration with GitHub etc. [1] https://reviewnb.com [2] https://nbdime.readthedocs.io/en/latest/
RStudio’s Markdown notebooks do not suffer from this and save a separate output file that can be gitignored.
Re: Why Jupyter is data scientists’ computational notebook of choice
#154The results of a notebook can be shared more easily than a plain repository(via nbviwer or binder) and more importantly the science there it's reproducible.
Re: Why Jupyter is data scientists’ computational notebook of choice
#155What was the earliest of these tools? Mathcad? Mathematica? Maple?
there’s a relatively esoteric paradigm known as “literate programming” which has been around since Knuth (he wrote the book [0]) and that has some software tools associated, of which Jupyter is a particularly web-age example. [0]: https://en.m.wikipedia.org/wiki/Literate_programming
[1] https://rmarkdown.rstudio.com/ [2] https://orgmode.org/worg/org-contrib/babel/
Re: Why Jupyter is data scientists’ computational notebook of choice
#156Re: Why Jupyter is data scientists’ computational notebook of choice
#157Version control for Jupyter notebooks was one of the biggest complaint I had. Specifically, diff and merge with the JSON files (.ipynb) is ugly. I built ReviewNb[1] to solve one of those problems (diff). Note that, there is nbdime[2] which works well for local diff/merge. The idea for ReviewNb is to have much tighter integration with GitHub etc. [1] https://reviewnb.com [2] https://nbdime.readthedocs.io/en/latest/
RStudio’s Markdown notebooks do not suffer from this and save a separate output file that can be gitignored.
No inline rendering of markdown.
Opening an .Rmd file is a lottery to see if rendered graphs and tables still exists.
Tables render completely differently in editor, HTML and pdf
Re: Why Jupyter is data scientists’ computational notebook of choice
#158Earlier quoted context omitted.
I have felt the same way in the past. There are some ways to do this, but none is great. Unfortunately using a text editor to put in the notebook text areas is not that straightforward because of security features in modern browsers. Since jupyter is actually a server (usually running locally) it's possible to communicate directly with it from a sufficiently advanced editor, but haven't seen any good execution of tha…
This is not what I mean. Mine is a problem of file formats, not of interactivity. I want to edit a text file alone, without need for any web browser in my computer. Then I push the notebook to git, and somewhere else it is opened by the browser. This would be possible today if the notebook file was python code with comments, for example, instead of an uneditable json.
I personally look forward to trying this out, as it means that I can use Jupyter in a way that doesn't mean adapting my workflow to the tool so much.
[0] https://towardsdatascience.com/introducing-jupytext-9234fdff...
Re: Why Jupyter is data scientists’ computational notebook of choice
#159Earlier quoted context omitted.
And then there is the Zelig modeling framework for R that I can’t imagine not using after having used it. Don’t get me wrong, I like Python well enough, and knew it before I coded R. But Python is really behind R in stats support. I’d also add the tidyverse in there for general data munging. If I want libraries I’ll use R; if I want a programming language I love I'll use Racket or maybe Clojure; if I want some librar…
Woa, thanks for pointing out Zelig, I needed that relogit and I didn't even know it :)
Re: Why Jupyter is data scientists’ computational notebook of choice
#160Earlier quoted context omitted.
If you are interested in workbooks which are collaborative and versioned, take a look at http://datalore.io/ Version control is transparent and integrated and it's possible to work with workbooks collaboratively.
Any chance of this being offered for on-prem install in the future? Looks interesting but cloud only makes it a no go for my team.