Skip to content
Jupyter spreadsheet widget
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Add NaT support in from_dataframe Mar 11, 2019
js Release 0.3.2 Mar 19, 2019
.gitignore JavaScript -> TypeScript Feb 12, 2019
LICENSE Add missing `install` to the jlab command (#70) Mar 7, 2019
requirements_rtd.txt docs: install ipysheet using pip since it cannot install without npm Jan 30, 2018
setup.cfg Fix embedding (#91) Mar 19, 2019


Spreadsheet in the Jupyter notebook:

Create a table and drive a value using ipywidgets:

Slider Screencast

Perform a calculation on slider change:

Slider Calculation Screencast

Change cell style depending on the value using renderers:

Cell Style Screencast

Populate table using cell ranges:

Cell Ranges Screencast


With conda:

$ conda install -c conda-forge ipysheet

With pip:

$ pip install ipysheet

To make it work for Jupyter lab:

$ jupyter labextension install ipysheet

If you have notebook 5.2 or below, you also need to execute:

$ jupyter nbextension enable --py --sys-prefix ipysheet
$ jupyter nbextension enable --py --sys-prefix ipysheet.renderer_nbext

For a development installation (requires npm),

$ git clone
$ cd ipysheet
$ pip install -e .
$ jupyter nbextension install --py --symlink --sys-prefix ipysheet
$ jupyter nbextension enable --py --sys-prefix ipysheet
$ jupyter nbextension enable --py --sys-prefix ipysheet.renderer_nbext
$ jupyter labextension link js

For Jupyter lab development, you may want to start Jupyter lab with jupyter lab --watch so it instantly picks up changes.


If you are a regular Jupyter notebook or lab user you can ignore this section, it is only relevant is shared multiusers environment, like with Jupyter hub.

ipysheet contains a part (the Renderer widget) that will allow arbitrary Javascript injection from a user into a webpage that contains the notebook. In situation where notebooks are shared, this can lead to security issues. If you want to disable this, run for the Jupyter notebook and Jupyter lab respectively:

$ jupyter nbextension disable --py --sys-prefix ipysheet.renderer_nbext
$ jupyter labextension disable ipysheet:renderer # for jupyter lab
You can’t perform that action at this time.