Skip to content

Roundtrip with Webpack Support

Latest
Compare
Choose a tag to compare
@cscully-allison cscully-allison released this 07 Dec 16:21
· 10 commits to main since this release
99a1aac

Overview

This release changes the structure of Roundtrip compared in the following ways:

  1. It is now a library which can be called by a python magics class that abstracts away the file and data loading from the notebook user
  2. It is designed to work with Webpack and accordingly supports the loading of arbitrary JS code
    a. See the webpack portion of the Tutorial in the wiki for details

New Features

The following features and functionality have been added:

  • A singleton Roundtrip object which manages the loading of visualizations and creation of Javascript side Roundtrip code
  • A Javascript-side Roundtrip object (window.Roundtrip) which acts as a repository/transfer station for Python-origin, Javascript-destined data and vice-versa. It stores data at user-defined keys reserved by the Python Roundtrip object.
  • New functionality on Roundtrip methods:
    • Transferring data down from the visualization magic function's local scope to Javascript code
    • Loading compiled .js code through a webpack-generated .html template
    • Two-way data binding between a Jupyter-scoped variable and a Javascript variable
    • Callback function which monitors changes to bound data in the Jupyter notebook and updates a visualization accordingly

Modified Features

The following features have been pushed into python functions:

  • Transferring data from a Jupyter notebook down to the Javascript code
  • Loading basic .js, .css, and .html files
    • Supports embedded calls to Require.js within Jupyter notebooks
  • Passing data from Javascript code back up to a Jupyter notebook

Documentation and Deployment

This version of the software has been deployed on PyPi under the name roundtrip-lib.

Instructions to demo of the software using two notebooks have been added to the readme. Further details about the functionality of Roundtrip have been added to the wiki. This wiki includes a quick-start in addition to an advanced tutorial which should teach users all the features of Roundtrip.