Awesome
jupyterlab_voyager
A JupyterLab MIME renderer extension to view CSV and JSON data in Voyager 2.
Prerequisites
- JupyterLab
Installation
jupyter labextension install jupyterlab_voyager
You can also use this with the Docker base images:
FROM jupyter/minimal-notebook
RUN jupyter labextension install jupyterlab_voyager
CMD start.sh jupyter lab
Then right click on any csv
, tsv
or json
file click "Open with...", then "Voyager".
If you experience
"FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory"
error during installation, you can use
- export NODE_OPTIONS=--max-old-space-size=16000
or just add NODE_OPTIONS=--max-old-space-size=16000 env variable when running jupyter lab build to solve this problem.
Development
For a development install (requires npm version 4 or later, yarn, and jupyterlab), do the following in the repository directory:
yarn install
jupyter labextension link .
Then build the files and start Jupyter Lab:
yarn watch
# in new window
jupyter lab --port=8889 --watch
Reload the page to see new code changes.
Testing
You can run the E2E tests with cypress:
jupyter lab --port=8889
# in a new window
npx cypress run
Or open Cypress for an interactive experience:
npx cypress open
Docker
If you have Docker version >= 17.09.0-ce installed, you can also do all of the above with:
docker-compose up lab
Then you can run the tests with:
docker-compose run --rm test
If you change the installed packages, you have to remove the existing volume and rebuild the images:
docker-compose down -v
docker-compose build
Future Work
This extension provides a bare minimum integration with Voyager. It would be great to support features like:
- Save Voyager state in widget, so that when window is reloaded it will preserve what you have selected.
- Allow viewing Pandas dataframes in the notebook with Voyager.
Created using JupyterLab extension-cookiecutter-ts
.