Using Jupyter for reproducible scientific workflows