Hi Jayme, two things come to mind immediately - bpython has a linear single version of this capability - it's called "rewind": https://bpython-interpreter.org/
The more general case sounds related to some of Philip Guo's PhD thesis work around IncPy: http://pgbovine.net/PhD-dissertation.htm Both of those are the general Python case - as for Jupyter - we are not tightly coupled to the namespace (the feature of being able to execute cells out of order is seen as a bug by some) - the jupyter kernel does not know about a notebook document, it only receives code content to be executed, and sends back the results of such execution. It would be feasible to build in the sort of coupling that you are talking about, but I don't think such functionality would be welcomed back into the mainline of Jupyter notebook user interfaces (because the tighter coupling would be a limitation for other kinds of use cases). best, pi On Thu, Feb 22, 2018 at 2:39 AM, Jayme Bird <jayme.b...@cwi.nl> wrote: > Dear all, > > I would appreciate your feedback with a potential research area, > specifically within Jupyter - and perhaps more generally in Python. > > Interactive data analysis in frameworks like jupyter notebooks has a > common issue - the modification of potentially large datasets within an > interactive session. Unintentional modification is frequent, and the common > solution is to re-run the steps that were required to get from a data file > to the point in question. This reduces the usability of the analysis tools, > makes “what-if” exploration difficult, and creates a lot of unnecessary > overhead for either manually saving state or re-running scripts to recreate > it. > > I'm investigating a proposed project focused on the use of relational > Multi-Version Concurrency Control (MVCC) techniques from database systems > for these interactive workloads. In essence allowing a control z undo > functionality to return to the previous state after running a particular > step of an interactive script. > > I would appreciate knowing if any development of this has been discussed - > as well as ideas or useful feedback in general? > > Kind regards > Jayme Bird > > -- > You received this message because you are subscribed to the Google Groups > "Project Jupyter" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to jupyter+unsubscr...@googlegroups.com. > To post to this group, send email to firstname.lastname@example.org. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/jupyter/1410954636.3371205.1519295968702.JavaMail.zimbra%40cwi.nl. > For more options, visit https://groups.google.com/d/optout. > -- _ / \ A* \^ - ,./ _.`\\ / \ / ,--.S \/ \ / `"~,_ \ \ __o ? _ \<,_ /:\ --(_)/-(_)----.../ | \ --------------.......J Paul Ivanov http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to jupyter+unsubscr...@googlegroups.com. To post to this group, send email to email@example.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/CAKCGbV6ArZFY9tJsBmKDKt1SqVXBtZEEBT2P1QdcPP9QH%3DRPCg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.