• Stars
    star
    520
  • Rank 82,014 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Jupyter handsontable integration

ipysheet

WARNING

Due to Handsontable licensing changes ipysheet is stuck witch the outdated Handsontable version 6.2.2 (open-source). We recommend not using ipysheet anymore. We suggest an alternative like ipydatagrid.

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:

Conditional formatting

Populate table using cell ranges:

Cell Ranges Screencast

Installation

With conda:

$ conda install -c conda-forge ipysheet

With pip:

$ pip install ipysheet

Development install

Note: You will need NodeJS to build the extension package.

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

# Clone the repo to your local environment
# Change directory to the ipysheet directory
# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm run build

You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm run watch
# Run JupyterLab in another terminal
jupyter lab

With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).

By default, the jlpm run build command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:

jupyter lab build --minimize=False

Development uninstall

pip uninstall ipysheet

In development mode, you will also need to remove the symlink created by jupyter labextension develop command. To find its location, you can run jupyter labextension list to figure out where the labextensions folder is located. Then you can remove the symlink named ipysheet within that folder.

More Repositories

1

jupyterlab-drawio

A standalone embedding of the FOSS drawio / mxgraph package into jupyterlab
JavaScript
587
star
2

ipygany

3-D Scientific Visualization in the Jupyter Notebook
Python
477
star
3

ipytree

A Tree Widget using Jupyter-widgets protocol and jsTree
CSS
115
star
4

xplot

C++ backend for the bqplot 2-D plotting library
C++
98
star
5

quantstack-talks

Slides for quantstack talks
Jupyter Notebook
81
star
6

jupyterlab-snippets

Snippets Extension for JupyterLab
Python
59
star
7

jupytercad

A JupyterLab extension for 3D geometry modeling
TypeScript
54
star
8

jupyterlab-blockly

Blockly extension for JupyterLab
TypeScript
48
star
9

xvega

A C++ API to Vega-Lite.
C++
40
star
10

memestra

Python checker for places where deprecated functions are called.
Python
30
star
11

ipyigv

A Jupyter wrapper for the igv.js library (representation of genomic data)
Python
23
star
12

GanyJS

3-D Scientific visualization using ThreeJS
TypeScript
21
star
13

pyls-memestra

Memestra plugin for the Python Language Server
Python
20
star
14

leaflet-splitmap

A Leaflet control to compare two map layers
JavaScript
17
star
15

xwebrtc

C++ backend for the jupyter webrtc widget
C++
14
star
16

glue-jupyterlab

Glue JupyterLab Extension
TypeScript
14
star
17

jupyterlab-js-logs

JupyterLab extension to show the logs from the browser developer tools console
TypeScript
13
star
18

xvolume

C++ backend for the ipyvolume 3-D plotting library
C++
11
star
19

xplugin

generic plugin framework in C++
C++
11
star
20

quantstack.github.io

QuantStack website
JavaScript
10
star
21

jupyterlab-debugger

Jupyterlab extension containing a UI for debugging
TypeScript
10
star
22

py2vega

Python
9
star
23

xsci

Scientific algorithms implemented on top of the x-stack (xtensor, xsimd ...)
CMake
9
star
24

xthreejs

C++ backend for the jupyter threejs widget
C++
7
star
25

jupyterlab-chat

An extension to add a chat panel
TypeScript
6
star
26

xcrash

Minimal reproducers for C++ compiler bugs
C++
5
star
27

jupyterlite-capytale

JupyterLite deployment for integration with Capytale
TypeScript
3
star
28

jupyter-data-directory

A simple server extension adding a static file handler for a custom directory of the server.
Python
3
star
29

jupyterlab-niryo-one

Blockly extension for JupyterLab to control a Niryo One robot.
JavaScript
3
star
30

rtc

2
star
31

jupyterlab-blockly-ipylgbst

Blockly extension for JupyterLab to control the Lego Boost, using the ipylgbst library.
JavaScript
2
star
32

xprojects_meeting_notes

Notes from xtensor developer meetings
2
star
33

jupyter-drives-browser

A JupyterLab extension which enables client-side drives access.
TypeScript
2
star
34

jupyter-sql-cell

TypeScript
2
star
35

jupyterlab-lego-boost

Blockly extension for JupyterLab to control the Lego Boost
JavaScript
1
star
36

jupyter-drives

Jupyter Server supporting JupyterLab IDrive
Python
1
star
37

frilouz

Python
1
star