towards reproducible jupyter notebooks · towards reproducible jupyter notebooks ludovic courtes`...

25
Towards reproducible Jupyter notebooks Ludovic Court ` es Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Upload: others

Post on 15-Jul-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Towards reproducible Jupyternotebooks

Ludovic CourtesPierre-Antoine Rouby

JCAD, Toulouse9 octobre 2019

Page 2: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Jupyter = reproducible science

?

Page 3: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Jupyter = reproducible science?

Page 4: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 5: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 6: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 7: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 8: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 9: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

What if notebooks wereself-contained,“deployment-aware”?

Page 10: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

$ guix environment --ad-hoc \

python python-numpy python-scipy \

-- python3

Page 11: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 12: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

first releasetoday! :-)

https://hpc.guix.info/blog/2019/10/towards-reproducible-jupyter-notebooks

Page 13: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 14: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 15: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

travel in space and time!

Page 16: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 17: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Jupyter

Guix-Jupyter

IPykernel IRkernel IJulia

Page 18: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 19: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 20: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019
Page 21: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Wrap-up.

Page 22: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Open issues

I how can we improve the user interface?I should deployment be built into Jupyter?I what about interoperability?I ...

Page 23: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Guix-Jupyter =

I self-contained notebooksI automatic & reproducible deploymentI code runs in isolated environment

Page 24: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

https://hpc.guix.info

[email protected] | @GuixHPC

Page 25: Towards reproducible Jupyter notebooks · Towards reproducible Jupyter notebooks Ludovic Courtes` Pierre-Antoine Rouby JCAD, Toulouse 9 octobre 2019

Copyright c© 2010, 2012–2019 Ludovic Courtes [email protected].

GNU Guix logo, CC-BY-SA 4.0, https://gnu.org/s/guix/graphics.

DeLorean time machine picture c© 2014 Oto Godfrey and Justin Morton, CC-BY-SA 4.0,https://commons.wikimedia.org/wiki/File:TeamTimeCar.com-BTTF_DeLorean_Time_Machine-OtoGodfrey.com-

JMortonPhoto.com-07.jpg.

Copyright of other images included in this document is held by their respective owners.

This work is licensed under the Creative Commons Attribution-Share Alike 3.0 License. To view a copy of this license, visithttps://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300,San Francisco, California, 94105, USA.

At your option, you may instead copy, distribute and/or modify this document under the terms of the GNU Free DocumentationLicense, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, noFront-Cover Texts, and no Back-Cover Texts. A copy of the license is available at https://www.gnu.org/licenses/gfdl.html.

The source of this document is available from https://git.sv.gnu.org/cgit/guix/maintenance.git.