Skip to content

Improve interactive session save/restore facilities #112

@ghost

Description

Original Launchpad bug 488953: https://bugs.launchpad.net/ipython/+bug/488953
Reported by: fdo.perez (Fernando Perez).

Early in IPython's life I tried to have full session saving, but that doesn't blindly work because things like sockets, interactively defined functions and many other objects can fail to pickle, and I simply punted on the problem. But it's a common and valid request to have convenient session state management; currently we have %store but we should offer better facilities.

  • A session saving command that can save as much of the state as possible, simply printing a warning of what variables didn't make it. Note that Mike McKern's dill pickler could be very useful here:

http://dev.danse.us/trac/pathos
http://dev.danse.us/trac/pathos/browser/dill/dill.py

  • Convenient functions for pulling any dict into the user's namespace (this is very easy, just updating user_ns with the other dict)
  • Expose ipvars() functionality in the builtin namespace, very useful for debugging.

For reference, see this thread on the nipy list:

http://mail.scipy.org/pipermail/nipy-devel/2009-November/002273.html

In particular the comments made by Gael here:
http://mail.scipy.org/pipermail/nipy-devel/2009-November/002349.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions