Releases: hdc-arizona/roundtrip
Roundtrip with Webpack Support
Overview
This release changes the structure of Roundtrip compared in the following ways:
- 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
- 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.
Roundtrip original version - RequireJS
This is the first version of Roundtrip which uses RequireJS. The interface is simpler and it has fewer dependencies than the Webpack version. However, it may be more difficult to create and manage more complex visualizations using this version due to the lack of centralized data-passing object and limitations of RequireJS.