##// END OF EJS Templates
Documentation overhaul....
Documentation overhaul. Remove many unnecessary section or inaccurate, build locally using RTD theme to simplify testing locally. Decrease the depth of some section. And do not duplicate table of content which anyway is always on the sidebar.

File last commit:

r22147:7fef958a
r22588:5b905f8f
Show More
integrating.rst
52 lines | 1.8 KiB | text/x-rst | RstLexer
Thomas Kluyver
Document ways of integrating objects with IPython.
r8083 .. _integrating:
=====================================
Integrating your objects with IPython
=====================================
Tab completion
==============
To change the attributes displayed by tab-completing your object, define a
``__dir__(self)`` method for it. For more details, see the documentation of the
built-in `dir() function <http://docs.python.org/library/functions.html#dir>`_.
Thomas Kluyver
Document custom key completions
r22147 You can also customise key completions for your objects, e.g. pressing tab after
``obj["a``. To do so, define a method ``_ipython_key_completions_()``, which
returns a list of objects which are possible keys in a subscript expression
``obj[key]``.
.. versionadded:: 5.0
Custom key completions
Thomas Kluyver
Document ways of integrating objects with IPython.
r8083 Rich display
============
The notebook and the Qt console can display richer representations of objects.
To use this, you can define any of a number of ``_repr_*_()`` methods. Note that
these are surrounded by single, not double underscores.
Both the notebook and the Qt console can display ``svg``, ``png`` and ``jpeg``
representations. The notebook can also display ``html``, ``javascript``,
Thomas Kluyver
Notebook does not support displaying JSON
r8086 and ``latex``. If the methods don't exist, or return ``None``, it falls
Thomas Kluyver
Document ways of integrating objects with IPython.
r8083 back to a standard ``repr()``.
For example::
class Shout(object):
def __init__(self, text):
self.text = text
def _repr_html_(self):
return "<h1>" + self.text + "</h1>"
Custom exception tracebacks
===========================
Rarely, you might want to display a different traceback with an exception -
IPython's own parallel computing framework does this to display errors from the
engines. To do this, define a ``_render_traceback_(self)`` method which returns
a list of strings, each containing one line of the traceback.
Please be conservative in using this feature; by replacing the default traceback
you may hide important information from the user.