Skip to content

zzhangjii/jupyterlab_voyager

 
 

Repository files navigation

jupyterlab_voyager

npm Build Status Binder

A JupyterLab MIME renderer extension to view CSV and JSON data in Voyager 2.

Screen shot showing data file opened in Voyager in JupyterLab

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

First install cypress:

npm install -g cypress@1.0.3

Then you can run the tests:

cypress run

Or open Cypress for an interactive experience:

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.

About

JupyterLab extension visualize data with Voyager

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 85.5%
  • JavaScript 5.4%
  • CSS 4.5%
  • TeX 3.5%
  • Dockerfile 0.8%
  • Shell 0.2%
  • Python 0.1%