Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
finos/ipyregulartable: High performance, editable, stylable datagrids in jupyter and jupyterlab

finos/ipyregulartable: High performance, editable, stylable datagrids in jupyter and jupyterlab

4 hours ago

ipyregulartable

An ipywidgets wrapper around regular-table for Jupyter.

Build Status</a> codecov</a> License</a> PyPI</a> NPM</a> FINOS Incubating</a> Binder</a>

Examples

Two Billion Rows

Notebook

!Two billion rows

Click Events

Notebook

!Click events

Edit Events

Notebook

!Edit events

Styling

Notebook

!Styling

Pandas Data Model

For interactive or streaming sorting, pivoting, and aggregation, see Perspective, which also uses regular-table.

Series

!Series

DataFrame

!DataFrame

DataFrame Row Pivots

!DataFrame row pivots

DataFrame Column Pivots

!DataFrame column pivots

DataFrame Pivot Table

!DataFrame pivot table

Installation

PyPI

pip install ipyregulartable

Conda

conda install -c conda-forge ipyregulartable

For Jupyter Notebook 5.2 or earlier, enable the classic notebook extension:

jupyter nbextension enable --py --sys-prefix ipyregulartable

Data Model

Custom data models implement the abstract methods on the base DataModel class:

class DataModel(with_metaclass(ABCMeta)):
    @abstractmethod
    def editable(self, x, y):
        """Return whether the cell at (x, y) is editable."""

@abstractmethod def rows(self): """Return the total number of rows."""

@abstractmethod def columns(self): """Return the total number of columns."""

@abstractmethod def dataslice(self, x0, y0, x1, y1): """Return a data slice, inclusive of both coordinate pairs."""

Any DataModel object can be passed to RegularTableWidget. regular-table may make probing calls with (0, 0, 0, 0) to assess data limits.

License

Licensed under the Apache License 2.0. See LICENSE, NOTICE, and AUTHORS.

[!NOTE]
This library was generated using Copier
from the
Base Python Project Template.
Chat with me