• Stars
    star
    520
  • Rank 85,117 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 1 year 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
594
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++
99
star
5

quantstack-talks

Slides for quantstack talks
Jupyter Notebook
81
star
6

jupyterlab-snippets

Snippets Extension for JupyterLab
Python
61
star
7

jupytercad

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

jupyterlab-blockly

Blockly extension for JupyterLab
TypeScript
51
star
9

xvega

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

memestra

Python checker for places where deprecated functions are called.
Python
29
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
22
star
13

pyls-memestra

Memestra plugin for the Python Language Server
Python
19
star
14

glue-jupyterlab

Glue JupyterLab Extension
TypeScript
18
star
15

xplugin

generic plugin framework in C++
C++
17
star
16

leaflet-splitmap

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

xwebrtc

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

jupyterlab-js-logs

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

xvolume

C++ backend for the ipyvolume 3-D plotting library
C++
12
star
20

quantstack.github.io

QuantStack website
JavaScript
10
star
21

ypywidgets

Y-based Jupyter widgets for Python
Python
10
star
22

jupyterlab-debugger

Jupyterlab extension containing a UI for debugging
TypeScript
10
star
23

xsci

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

py2vega

Python
9
star
25

jupydrive-s3

A JupyterLab extension which enables client-side S3 file access
TypeScript
9
star
26

xthreejs

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

yjs-widgets

a JupyterLab extension for widgets based on Yjs
TypeScript
6
star
28

jupyterlab-chat

An extension to add a chat panel
TypeScript
6
star
29

ipyopenlayers

Jupyter Widgets library for OpenLayersJS
TypeScript
6
star
30

xcrash

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

jupyterlite-capytale

JupyterLite deployment for integration with Capytale
TypeScript
3
star
32

jupyter-data-directory

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

jupyterlab-niryo-one

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

jupyterlab-gather

WebRTC video confrencing with AR capabilities
TypeScript
3
star
35

rtc

2
star
36

jupyterlab-blockly-ipylgbst

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

jupyter-drives

Jupyter Server supporting JupyterLab IDrive
Python
2
star
38

xprojects_meeting_notes

Notes from xtensor developer meetings
2
star
39

jupyter-sql-cell

TypeScript
2
star
40

jupyterlab-lego-boost

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

frilouz

Python
1
star
42

jupyterlab-suggestions

WIP
Python
1
star