[IPython-dev] Better handling of older notebook versions

Aaron Meurer asmeurer at gmail.com
Tue Jun 19 02:16:01 EDT 2012


As you may know, we are planning to migrate our SymPy examples to
IPython notebooks, and, indeed, we already have some notebooks that we
intend to ship with the next release.  Currently, we have our
notebooks saved as version 2 (from IPython 0.12), since IPython 0.13
has not been released yet.

I played around with the notebook versions, and I found that a version
3 notebook doesn't work at all in IPython 0.12, regardless if it has a
header cell or not (from what I understand, this is the only new
feature in version 3).  On the other hand, a version 2 notebook is
automatically converted by IPython git master to version 3 with an
onscreen warning.

Is there any way that we could make this more friendly to users who
use our notebooks that we ship.   Currently, we have two options:

- Ship version 3 notebooks.  Previously this was not an option because
version 3 only exists in the development version, but now it is clear
that you guys will release before we do, so it's actually possible.
Even so, this may come up again in the future.  Also, if we do this,
it will obviously alienate any IPython 0.12 users.

- Ship version 2 notebooks.  If we do this, then anyone who opens the
notebook with 0.13 will see a warning that the notebook is converted,
which isn't very friendly since they are not the authors of the
notebook.   If they save the notebook, it will eliminate the warning,
but will change it from the released version.  That may not be such a
bad thing; my main concern is just the initial annoyance/confusion to
anyone who opens the notebook with the newest version of IPython.

Any thoughts on this?  Perhaps the read-only notebooks discussed in
another thread would be the solution to this.  I think something like
that would be ideal for shipped example notebooks, because it would
prevent the user from accidentally overriding them, and it might even
do a "save  as" by default instead (like a template document on the

Aaron Meurer

More information about the IPython-dev mailing list