compleathorseplayer / Neptune.jl

Simple (Pluto-based) non-reactive notebooks for Julia
Other
67 stars 5 forks source link

Persistent output, and some other wishes #16

Open isentropic opened 3 years ago

isentropic commented 3 years ago

It'd be good to solve the unresolved issue of the Pluto.jl --- the persistent output of the cells, plots, text, or what not. By persistent I mean that, for example, drawn plots should stay drawn on the notebook after disconnetcting.

What's your opinion on where/how to store the outputs?

I just want to say that going in the direction of the Jupyter might be a good idea, however Neptune can keep things cleaner, julia first, and more lightweight. On top of my head things I wish we had:

  1. Memory dumps of notebooks --- complete state restoration of the notebook. Restore the results of heavy computations without relying upon CSVs and DataFrames. Perhaps some sort of state pickling.
  2. Human readable raw notebooks but not excluding the possibility of storing the output of the cells.
  3. Auto Pkg environment management?
compleathorseplayer commented 3 years ago

One of the main things I think it important to preserve is the capability of running saved notebooks as julia scripts. This would be hard to reconcile with your requests. I think your needs in this case seem more compatible with Jupyter. Having said that, I suppose it is not impossible to have 'associated' files (e.g. plots) saved as png or pdf for example.

compleathorseplayer commented 3 years ago

BTW, do you know about Serialization.jl? You can easily save states, etc. I have had good results with it, and it is really easy to use. The only downside is that it is (apparently) not guaranteed to work between Julia upgrades (though I haven't seen it fail yet), so it may generally only be helpful for 'short-term' stuff. About Automatic Package management (like RStudio). Now that would be cool. Are there any volunteers that might consider looking into this? [It is beyond my expertise and outside my current bandwidth]