This is a Python 3 library to read/write cells programmatically in Jupyter notebooks which anticipates upcoming collaborative features in Jupyter.
We use this at O'Reilly Media for notebooks used to manage machine learning pipelines. That is to say, machines and people collaborate on documents, implementing a "human-in-the-loop" design pattern:
- people adjust parameters for the ML pipelines
- machines write structured "logs" during ML modeling/evaluation
- people run
jupyter notebook
via SSH tunnel for remote access
For more info about use cases for this library and active learning in general, see the JupyterCon 2017 talk Humans in the loop
The following script generates a Jupyter notebook in the test.ipynb
file, then runs it:
python test.py jupyter notebook
Then launch the test.ipynb
notebook and from the Cells
menu
select Run All
to view results.
NB: whenever you use the put_df()
function to store data as a
Pandas dataframe
be sure to include import pandas as pd
at some earlier point in
the notebook.
This code has dependencies on:
To install from PyPi:
pip install nbtransom
To install from this Git repo:
git clone https://github.com/ceteri/nbtransom.git cd nbtransom pip install -r requirements.txt