##// END OF EJS Templates
Merge pull request #10890 from takluyver/doc-more-display-fmt...
Matthias Bussonnier -
r24045:43994e7b merge
parent child Browse files
Show More
@@ -252,8 +252,9 b' def display(*objs, include=None, exclude=None, metadata=None, transient=None, di'
252 display in IPython by following the above approach. But in practice, you
252 display in IPython by following the above approach. But in practice, you
253 often need to work with existing classes that you can't easily modify.
253 often need to work with existing classes that you can't easily modify.
254
254
255 You can refer to the documentation on IPython display formatters in order to
255 You can refer to the documentation on integrating with the display system in
256 register custom formatters for already existing types.
256 order to register custom formatters for already existing types
257 (:ref:`integrating_rich_display`).
257
258
258 .. versionadded:: 5.4 display available without import
259 .. versionadded:: 5.4 display available without import
259 .. versionadded:: 6.1 display available without import
260 .. versionadded:: 6.1 display available without import
@@ -19,6 +19,8 b' returns a list of objects which are possible keys in a subscript expression'
19 .. versionadded:: 5.0
19 .. versionadded:: 5.0
20 Custom key completions
20 Custom key completions
21
21
22 .. _integrating_rich_display:
23
22 Rich display
24 Rich display
23 ============
25 ============
24
26
@@ -28,8 +30,8 b' these are surrounded by single, not double underscores.'
28
30
29 Both the notebook and the Qt console can display ``svg``, ``png`` and ``jpeg``
31 Both the notebook and the Qt console can display ``svg``, ``png`` and ``jpeg``
30 representations. The notebook can also display ``html``, ``javascript``,
32 representations. The notebook can also display ``html``, ``javascript``,
31 and ``latex``. If the methods don't exist, or return ``None``, it falls
33 ``markdown`` and ``latex``. If the methods don't exist, or return ``None``, it
32 back to a standard ``repr()``.
34 falls back to a standard ``repr()``.
33
35
34 For example::
36 For example::
35
37
@@ -40,6 +42,38 b' For example::'
40 def _repr_html_(self):
42 def _repr_html_(self):
41 return "<h1>" + self.text + "</h1>"
43 return "<h1>" + self.text + "</h1>"
42
44
45 There are also two more powerful display methods:
46
47 .. class:: MyObject
48
49 .. method:: _repr_mimebundle_(include=None, exclude=None)
50
51 Should return a dictionary of multiple formats, keyed by mimetype, or a tuple
52 of two dictionaries: *data, metadata*. If this returns something, other
53 ``_repr_*_`` methods are ignored. The method should take keyword arguments
54 ``include`` and ``exclude``, though it is not required to respect them.
55
56 .. method:: _ipython_display_()
57
58 Displays the object as a side effect; the return value is ignored. If this
59 is defined, all other display methods are ignored.
60
61 Formatters for third-party types
62 --------------------------------
63
64 The user can also register formatters for types without modifying the class::
65
66 from bar import Foo
67
68 def foo_html(obj):
69 return '<marquee>Foo object %s</marquee>' % obj.name
70
71 html_formatter = get_ipython().display_formatter.formatters['text/html']
72 html_formatter.for_type(Foo, foo_html)
73
74 # Or register a type without importing it - this does the same as above:
75 html_formatter.for_type_by_name('bar.Foo', foo_html)
76
43 Custom exception tracebacks
77 Custom exception tracebacks
44 ===========================
78 ===========================
45
79
General Comments 0
You need to be logged in to leave comments. Login now