Source code for petlx.ipython

from petl import rowslice
from petlx.util import UnsatisfiedDependency
from petl.interactive import repr_html


dep_message = """
iPython is required. Instructions for installation can be found 
at http://ipython.org/install.html or try apt-get install 
ipython-notebook.
"""


def _display(tbl, sliceargs, **kwargs):
    try:
        from IPython.core.display import display_html
    except ImportError as e:
        raise UnsatisfiedDependency(e, dep_message)
    if sliceargs is not None:
        tbl = rowslice(tbl, *sliceargs)
    html = repr_html(tbl, **kwargs)
    display_html(html, raw=True)


[docs]def display(tbl, *sliceargs, **kwargs): """ Display a table inline within an iPython notebook. E.g.:: In [0]: from petlx.ipython import display tbl = [['foo', 'bar'], ['a', 1], ['b', 2]] display(tbl) Alternatively, using the fluent style:: In [0]: import petl.interactive as etl import petlx.ipython tbl = etl.wrap([['foo', 'bar'], ['a', 1], ['b', 2]]) tbl.display() .. versionadded:: 0.5 """ if not sliceargs: sliceargs = (10,) # so you don't accidentally crash the browser with too much data _display(tbl, sliceargs, **kwargs)
[docs]def displayall(tbl, **kwargs): """ Display *all rows* from a table inline within an iPython notebook. E.g.:: In [0]: from petlx.ipython import displayall tbl = [['foo', 'bar'], ['a', 1], ['b', 2]] displayall(tbl) Alternatively, using the fluent style:: In [0]: import petl.interactive as etl import petlx.ipython tbl = etl.wrap([['foo', 'bar'], ['a', 1], ['b', 2]]) tbl.displayall() .. versionadded:: 0.5 """ _display(tbl, None, **kwargs)
import sys from petlx.integration import integrate integrate(sys.modules[__name__])