jupyter-widgets / ipydatagrid

Fast Datagrid widget for the Jupyter Notebook and JupyterLab
BSD 3-Clause "New" or "Revised" License
579 stars 51 forks source link
datagrid datatable grid jupyter-notebooks jupyterlab-extension

ipydatagrid

Binder pre-commit code style: prettier Code style: black tested with jest

Fast Datagrid widget for the Jupyter Notebook and JupyterLab

Menu

Usage and Examples

A fully-featured DataGrid interface DataGrid

Highly performant and fully integrated with ipywidgets DataGrid

Customize the way data is represented in your grid using a variety of renderers DataGrid

Enjoy a sophisticated selections model with two-way data binding DataGrid

Conditional formatting powered by Vega Expressions DataGrid

Tutorial and example notebooks can be found in the /examples directory.

Installation

If using JupyterLab, ipydatagrid requires JupyterLab version 3 or higher.

You can install ipydatagrid using pip or conda:

Using pip:

pip install ipydatagrid

Using conda:

conda install -c conda-forge ipydatagrid

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] ipydatagrid

NOTE: For examples using Scales from bqplot to work as intended, the bqplot notebook and lab extensions must be installed as well. See the bqplot repo for installation instructions:

Development installation

For a development installation:

git clone https://github.com/jupyter-widgets/ipydatagrid.git
cd ipydatagrid
conda install ipywidgets=8 jupyterlab
pip install -ve .

Enabling development install for Jupyter notebook:

jupyter nbextension install --py --symlink --sys-prefix ipydatagrid
jupyter nbextension enable --py --sys-prefix ipydatagrid

Enabling development install for JupyterLab:

jupyter labextension develop . --overwrite

Note for developers: the --symlink argument on Linux or OS X allows one to modify the JavaScript code in-place. This feature is not available with Windows.

If you are changing TypeScript code you can watch for code changes and automatically rebuild using

jlpm watch

in one terminal and

jupyter lab

(or jupyter notebook or similar) in another.

Contributions

We :heart: contributions.

The ipydatagrid package is under the Jupyter-Widgets software subproject.

We appreciate contributions from the community.

We follow the IPython Contributing Guide and Jupyter Contributing Guides

License

Please read the LICENSE file.

Code of Conduct

This project has adopted a Project Jupyter's Code of Conduct.

Security Vulnerability Reporting

If you believe you have identified a security vulnerability in this project, please raise an issue to the project, detailing the suspected problem and any methods you've found to reproduce it.

Please do NOT open an issue in the GitHub repository, as we'd prefer to keep vulnerability reports private until we've had an opportunity to review and address them.