JupyterLab Tabular Data Editor Documentation¶
Manipulate your tabular data responsively and effectively within JupyterLab. Try it on Binder.

Overview¶
Manipulate your tabular data responsively and effectively within JupyterLab.

JupyterLab Tabular Data Editor provides an interface to edit your data side-by-side with Jupyter Notebooks.
Installation¶
Requirements¶
JupyterLab >= 2.0
Install¶
jupyter labextension install jupyterlab-tabular-data-editor
Contributing¶
Install¶
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
# Move to jupyterlab-tabular-data-editor directory
# Install dependencies
jlpm
# Build Typescript source
jlpm build
# Link your development version of the extension with JupyterLab
jupyter labextension install .
# Rebuild Typescript source after making changes
jlpm build
# Rebuild JupyterLab after making any changes
jupyter lab build
You can watch the source directory and run JupyterLab in watch mode to watch for changes in the extension’s source and automatically rebuild the extension and application.
# Watch the source directory in another terminal tab
jlpm watch
# Run jupyterlab in watch mode in one terminal tab
jupyter lab --watch
Now every change will be built locally and bundled into JupyterLab. Be sure to refresh your browser page after saving file changes to reload the extension (note: you’ll need to wait for webpack to finish, which can take 10s+ at times).
Uninstall¶
jupyter labextension uninstall jupyterlab-tabular-data-editor
Changelog¶
v0.7.4¶
- Backspace keyboard shortcut working
- Fixes small bug with data types not updating on an undo/redo that changes the type
- Save dialog bug fix
- Created a selectCell method in the PaintedGrid
- Draw icon refactor
- Removed serializer and old model files
v0.7.3¶
- Datagrid styling changes
- Adjusts the position and style of the icons
v0.7.2¶
- Fixed the move line not accounting for scroll
- Package updated from @tde-csvviewer to @jupyterlab/csvviewer + Launcher handled in a way that we don’t need to change _computeRowOffsets
- Fixed right-click column header results in move shadow
v0.7.1¶
- Added new files to the demo folder
- Ghost row/columns bug fixes
- Refactor data detection to format data
v0.7.0¶
- Can now edit headers after scrolling
- Hover feature for ghost row and column
- Clearing rows and columns bug fix
- Pointer cursor for ghost row/column
- Modified icon painting setup to work with absolute positioning rather than relative positioning
- Adding data detection icons
- Styling for data detection icons
- Replace all bug fix
- Makes the text “Column 1” appear on the column header when launching a csv file
v0.6.0¶
- Cell data types for the body region
- Multi insert/remove for rows/columns
- WCAG AAA approved search match colors
- Ghost row and column feature added
- Fix the header displaying the wrong value on edit
- Serialization fix for data sets larger than 500 rows
- Inserting/removing column bug fixes
- Fixed console error when searching for a match
v0.5.0¶
- Shadow/line fixes when moving + handler.ts refactoring
- Create a new csv file from launcher
- Reduced column header and row height
- Edit Headers
- Save keybinding
v0.4.0¶
- Selection UX for Undo/Redo
- Right-click selection fixes
- Litestore refactor
v0.3.0¶
- Multiple context menus
- Clear contents (rows, columns, selections)
v0.2.0¶
- Copy, cut, and paste
- Undo and redo
- Implemented Litestore
- Move columns and rows
- Theme manager (light/dark)
- Search and replace
- Command Toolbar
- Binder link setup
v0.1.0¶
- Editable cells
- Alphabetic column header
- Save CSV file
- Delete rows and columns
- Add rows and columns