Fast Datagrid widget for the Jupyter Notebook and JupyterLab
A fully-featured DataGrid interface
Highly performant and fully integrated with ipywidgets
Customize the way data is represented in your grid using a variety of renderers
Enjoy a sophisticated selections model with two-way data binding
Conditional formatting powered by Vega Expressions
Tutorial and example notebooks can be found in the /examples
directory.
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:
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.
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
Please read the LICENSE file.
This project has adopted a Project Jupyter's Code of Conduct.
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.