Refactoring plugin architecture, fixing jupyter integration and a few documentation about how to setup jupyter notebook widget.

This commit is contained in:
Romain Dorgueil
2017-04-24 20:49:05 +02:00
parent d7f8873cca
commit 6926058625
15 changed files with 116 additions and 63 deletions

View File

@ -2,22 +2,30 @@ Changelog
=========
0.9.0
:::::
Incoming...
:::::::::::
* todo migrate doc
* todo migrate tests
* todo migrate transforms ?
Version 0.3
:::::::::::
* Autodetect if within jupyter notebook context, and apply plugin if it's the case.
* Console run should allow console plugin as a command line argument.
* New bonobo.structs package with simple data structures (bags, graphs, tokens).
Initial release
:::::::::::::::
* Migration from rdc.etl.
* New cool name.
* New cool name (ok, that's debatable).
* Only supports python 3.5+, aggressively (which means, we can use async, and we remove all things from python 2/six compat)
* Removes all thing deprecated and/or not really convincing
* We want transforms to be simple callables, so refactoring of the harness mess
* Removes all thing deprecated and/or not really convincing from rdc.etl.
* We want transforms to be simple callables, so refactoring of the harness mess.
* We want to use plain python data structures, so hashes are removed. If you use python 3.6, you may even get sorted dicts.
* Input/output MUX DEMUX removed, maybe no need for that in the real world. May come back, but not in 1.0
* Change dependency policy. We need to include only the very basic requirements (and very required). Everything related to transforms that we may not use (bs, sqla, ...) should be optional dependencies.
* execution strategies !!!
* Change dependency policy. We need to include only the very basic requirements (and very required). Everything related
to transforms that we may not use (bs, sqla, ...) should be optional dependencies.
* Execution strategies, threaded by default.

View File

@ -1,11 +1,34 @@
Bonobo with Jupyter
==================
There is a builtin plugin that integrates (kind of minimalistically, for now) bonobo within jupyter notebooks, so
you can read the execution status of a graph within a nice (ok not so nice) html/javascript widget.
See https://github.com/jupyter-widgets/widget-cookiecutter for the base template used.
Installation
::::::::::::
Overview
::::::::
To install the widget::
jupyter nbextension enable --py --sys-prefix bonobo.ext.jupyter
Development
:::::::::::
To install the widget for development, make sure you're using an editable install of bonobo (see install document)::
jupyter nbextension install --py --symlink --sys-prefix bonobo.ext.jupyter
jupyter nbextension enable --py --sys-prefix bonobo.ext.jupyter
If you wanna change the javascript, you should run webpack in watch mode in some terminal::
cd bonobo/ext/jupyter/js
npm install
./node_modules/.bin/webpack --watch
To compile the widget into a distributable version (which gets packaged on PyPI when a release is made), just run
webpack::
./node_modules/.bin/webpack
Details
:::::::