Differences between revisions 6 and 7
Revision 6 as of 2014-05-22 17:38:03
Size: 3039
Editor: was
Comment:
Revision 7 as of 2014-05-22 17:39:02
Size: 3122
Editor: was
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
  * have an option to launch ipynb with Sage preparsing without having to add the {{{%load_ext sage.misc.sage_extension}}} command. (S) (William: I think they more or less had something like this in 1.x, but removed any potential to do this sort of thing with 2.x, and when users complained refused to change it. So we would have to fork the code.   * have an option to launch ipynb with Sage preparsing without having to add the {{{%load_ext sage.misc.sage_extension}}} command. (S) (William: I think they more or less had something like this in 1.x, but removed any potential to do this sort of thing with 2.x, and when users complained refused to change it. So we might have to fork or monkey patch the code slightly.)
Line 19: Line 19:
    * or directly work with what is shiped with ipynb, without adding the @interact layer (which will need to be updated at each ipython improvement) (U)     * or directly work with what is shipped with ipynb, without adding the @interact layer (which will need to be updated at each ipython improvement) (U)  -- but there is a LOT of code out there using @interact.
Line 33: Line 33:
=== Fundamental Design Problems === === Fundamental Design Issues ===

Missing features for ipython to work within sage

This page aims to list which features of the Sage notebook (sagenb) are missing in the ipython notebook (ipynb). For each point we should think whether it is possible to directly work upstream (U), or if it is a sage-specific task (S).

Single user

  • interoperability
    • import and export .ipynb <-> .rst (U)

    • import from .sws (or perhaps the current sws2rst is enough) (S)
    • fetch and import sage notebooks from a http link to a html webpage.
  • live documentation: the reference manual and tutorials can be accessed as if they are worksheets (S?U)
  • packages
    • zeromq, pyzmq should become standard spkg (S)
    • include a mathjax spkg (instead of bulk stuff within sagenb spkg) and let ipynb point to it. (S)
  • have a function that tells wether Sage is currently running ipython console, ipython notebook, sage notebook, sage cell. (S)
  • have an option to launch ipynb with Sage preparsing without having to add the %load_ext sage.misc.sage_extension command. (S) (William: I think they more or less had something like this in 1.x, but removed any potential to do this sort of thing with 2.x, and when users complained refused to change it. So we might have to fork or monkey patch the code slightly.)

  • interact :
    • adapt the @interact decorator to work with ipython notebook interactive widgets (S)

    • or directly work with what is shipped with ipynb, without adding the @interact layer (which will need to be updated at each ipython improvement) (U) -- but there is a LOT of code out there using @interact.
  • plotting
    • sagenb plots .png images, while ipynb prefers .svg images which can be nicely included within .ipynb (json) files (S)
    • can we import jmol within ipynb ? is it better to use 3D libs that work out of the box within ipython (e.g. matplotlib). See also #16004 (S)

  • actually, very good interact and plotting libs already work with ipython (see for example this list, so maybe should we just switch to them. (S)

Multi user

This should be developed within ustream, it is part of their plans (U)

  • serve notebooks on the lan
  • user management, account creation
  • have all notebooks stored in a single place (per user), with possibility to manage and publish them

Fundamental Design Issues

List any fundamental design issues with IPython that people maybe don't notice at first glance, which are done much better/differently in the Sage notebook. This should be a short list.

  • If you start a calculation with output slowly appearing, then kill your browser and check back later, the output is not saved anywhere. With sagenb (and SageMathCloud) the state of notebooks is saved in the server as well as the browser, whereas in IPython it exists only in the browser.

IpythonNotebook (last edited 2023-02-23 21:51:50 by mkoeppe)