Skip to content

Tracking user interactions in Jupyter notebooks in an interaction provenance graph.

License

Notifications You must be signed in to change notification settings

richardwolfmayr/jupyterlab_nbprovenance

 
 

Repository files navigation

JupyterLab Notebook Provenance

Tracking user interactions in Jupyter notebooks in an interaction provenance graph.

In following two short screencasts presenting an early prototype with the provenance tracking in action.

Provenance Tracking

After jumping back to an earlier state the user can continue with a different path of the analysis, which results in additional branches in the provenance graph.

Provenance Branching

Prerequisites

Installation

jupyter labextension install @visualstorytelling/jupyterlab_nbprovenance

You can also use this with the Docker base images:

FROM jupyter/minimal-notebook
RUN jupyter labextension install @visualstorytelling/jupyterlab_nbprovenance
CMD start.sh jupyter lab

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 [email protected]

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

About

Tracking user interactions in Jupyter notebooks in an interaction provenance graph.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.3%
  • JavaScript 5.1%
  • CSS 4.0%
  • Dockerfile 2.1%
  • Other 0.5%