ipyregulartable

An ipywidgets wrapper of regular-table for Jupyter.

Examples

Two Billion Rows

Notebook

Click Events

Notebook

Edit Events

Notebook

Styling

Notebook

Pandas Data Model

For interactive/streaming sorting/pivoting/aggregation, take a look at Perspective, Streaming pivot visualization via WebAssembly, which also leverages regular-table.

Notebook

Series

DataFrame

DataFrame - Row Pivots

DataFrame - Column Pivots

DataFrame - Pivot Table

Installation

You can install using pip:

pip install ipyregulartable

Or if you use jupyterlab:

pip install ipyregulartable
jupyter labextension install @jupyter-widgets/jupyterlab-manager

If you are using Jupyter Notebook 5.2 or earlier, you may also need to enable
the nbextension:

jupyter nbextension enable --py [--sys-prefix|--user|--system] ipyregulartable

Data Model

It is very easy to construct a custom data model. Just implement the abstract methods on the base DataModel class.

class DataModel(with_metaclass(ABCMeta)):
    @abstractmethod
    def editable(self, x, y):
        '''Given an (x,y) coordinate, return if its editable or not'''

    @abstractmethod
    def rows(self):
        '''return total number of rows'''

    @abstractmethod
    def columns(self):
        '''return total number of columns'''

    @abstractmethod
    def dataslice(self, x0, y0, x1, y1):
        '''get slice of data from (x0, y0) to (x1, y1) inclusive'''

Any DataModel object can be provided as the argument to RegularTableWidget. Note that regular-table may make probing calls of the form (0, 0, 0, 0) to assess data limits.

GitHub

https://github.com/jpmorganchase/ipyregulartable