Show More
@@ -1,44 +1,52 b'' | |||
|
1 | 1 | .. _integrating: |
|
2 | 2 | |
|
3 | 3 | ===================================== |
|
4 | 4 | Integrating your objects with IPython |
|
5 | 5 | ===================================== |
|
6 | 6 | |
|
7 | 7 | Tab completion |
|
8 | 8 | ============== |
|
9 | 9 | |
|
10 | 10 | To change the attributes displayed by tab-completing your object, define a |
|
11 | 11 | ``__dir__(self)`` method for it. For more details, see the documentation of the |
|
12 | 12 | built-in `dir() function <http://docs.python.org/library/functions.html#dir>`_. |
|
13 | 13 | |
|
14 | You can also customise key completions for your objects, e.g. pressing tab after | |
|
15 | ``obj["a``. To do so, define a method ``_ipython_key_completions_()``, which | |
|
16 | returns a list of objects which are possible keys in a subscript expression | |
|
17 | ``obj[key]``. | |
|
18 | ||
|
19 | .. versionadded:: 5.0 | |
|
20 | Custom key completions | |
|
21 | ||
|
14 | 22 | Rich display |
|
15 | 23 | ============ |
|
16 | 24 | |
|
17 | 25 | The notebook and the Qt console can display richer representations of objects. |
|
18 | 26 | To use this, you can define any of a number of ``_repr_*_()`` methods. Note that |
|
19 | 27 | these are surrounded by single, not double underscores. |
|
20 | 28 | |
|
21 | 29 | Both the notebook and the Qt console can display ``svg``, ``png`` and ``jpeg`` |
|
22 | 30 | representations. The notebook can also display ``html``, ``javascript``, |
|
23 | 31 | and ``latex``. If the methods don't exist, or return ``None``, it falls |
|
24 | 32 | back to a standard ``repr()``. |
|
25 | 33 | |
|
26 | 34 | For example:: |
|
27 | 35 | |
|
28 | 36 | class Shout(object): |
|
29 | 37 | def __init__(self, text): |
|
30 | 38 | self.text = text |
|
31 | 39 | |
|
32 | 40 | def _repr_html_(self): |
|
33 | 41 | return "<h1>" + self.text + "</h1>" |
|
34 | 42 | |
|
35 | 43 | Custom exception tracebacks |
|
36 | 44 | =========================== |
|
37 | 45 | |
|
38 | 46 | Rarely, you might want to display a different traceback with an exception - |
|
39 | 47 | IPython's own parallel computing framework does this to display errors from the |
|
40 | 48 | engines. To do this, define a ``_render_traceback_(self)`` method which returns |
|
41 | 49 | a list of strings, each containing one line of the traceback. |
|
42 | 50 | |
|
43 | 51 | Please be conservative in using this feature; by replacing the default traceback |
|
44 | 52 | you may hide important information from the user. |
General Comments 0
You need to be logged in to leave comments.
Login now