#17234: Rich output and the IPython Notebook
-------------------------------------+-------------------------------------
       Reporter:  vbraun             |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.4
      Component:  graphics           |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Volker Braun       |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/vbraun/rich_output_and_the_ipython_notebook|  
7dc42d971ba53322fb089307178294b5c3e32fac
   Dependencies:  #16996, #16640,    |     Stopgaps:
  #17284                             |
-------------------------------------+-------------------------------------
Changes (by ohanar):

 * status:  needs_review => needs_work


Comment:

 Some comments for now:

 * It seems like the `show` method should maybe get moved to the
 `SageObject` class. It pops up everywhere, is more or less the same (other
 than supporting some deprecated functionality in a small handful of
 places) and as far as I can tell should work for child.
 * Similarly, in graphics.py, a bit of refactoring could be done by
 creating a common parent for `Graphics` and `GraphicsArray` (maybe
 something like `GraphicsBase`)
 * In `sage.repl.formatter` there is presumably a debugging print statement
 still left in `SagePlainTextFormatter`.
 * In the module docstring for `sage.repl.image` you mention the class
 `SageImage`, which you presumably renamed to just be `Image`. I didn't see
 any other instances of this, but it warrants a double check.
 * In `sage.repl.interpreter` it would be good to at least have trivial
 docstrings for the new methods as well as `# not tested` doctests --
 hopefully it reduces the number of coverage complaints (even though it is
 a bit silly in this case).
 * For the display magic, you deprecate some old values, maybe add a proper
 `deprecation`? (or maybe this doesn't work well with magics, I don't know)
 * The only the first pdf assertion in validate method for the doctest
 backend is being tested at the moment.
 * The `display_immediately` method on the IPython notebook backend
 currently does return something.
 * The `display_immediately` doctest for the test backend is actually
 testing the base backend.
 * For the various backends, wouldn't it make more sense for the
 supported_types to return frozensets rather than sets (since really the
 supported types aren't mutable). You do this later in the display manager.
 * For the display manager, why don't you just make a it have a unique
 instance (either by using a metaclass, or by using `__new__`) rather than
 just assert that there is only one instance?

 Once I get a chance to test it and give it a second pass I'll add some
 more comments. It would also be good to get someone familiar with SageNB
 to take a look at this, since I have no idea what hacks SageNB depends on
 and can't really review the SageNB backend.

--
Ticket URL: <http://trac.sagemath.org/ticket/17234#comment:25>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to