Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jupyter notebooks Friends or Foes

Jupyter notebooks Friends or Foes

Jupyter notebooks have become a hugely popular tool in research, machine learning, data science, education, and many many areas. Their use and adoption have opened the door to a new paradigm: the emergence of literate programming. And with this new paradigm, the users are not only able to develop quick prototypes but also generate compelling narratives in which the code and its outputs are presented side by side. Hence why big companies such as Google and Microsoft have created their own ports of the notebooks: Google Colab and Azure Notebooks. But how well do notebooks perform in different contexts and standards? Are these suitable for all audiences and applications? This talk will dive into some of the best and lesser known features of the Jupyter notebooks and tools within the Jupyter ecosystem. At the same time, we will explore the limitations and ‘odd behaviors’ of notebooks in a number of contexts while exploring the boundaries of the notebooks and their usefulness under such circumstances.


Tania Allard

June 14, 2019

More Decks by Tania Allard

Other Decks in Technology


  1. Tania Allard, PhD @ixek Developer Advocate at Microsoft Jupyter notebooks:

    Friends or foes? PyCon CZ 2019 CC-BY licensed bit.ly/PyConCZ-Jupyter
  2. 2 bit.ly/PyConCZ-Jupyter @ixek

  3. 3 @ixek What comes to your mind with the word

  4. None
  5. 5 What it really is… @ixek Ecosystem of open tools

    and infrastructure A community of people A collection of language agnostic and modular tools A means to empower people to use open tools
  6. 6 A familiar example @ixek

  7. 7 So what are the notebooks? @ixek

  8. 8 @ixek A stack of modular & open tools

  9. 9 Jupyterlab @ixek

  10. 10 Nteract @ixek

  11. 11 Azure notebooks @ixek " https://notebooks.azure.com

  12. 12 And why does everyone love the notebooks? @ixek

  13. 13 Not only machine readable Human readable Immediate code execution

    and inspection Literate programming Fast iteration Text, images and code all self contained Prototype and dissemination @ixek
  14. 14 One notebook to rule them all Turn your notebooks

    into interactive presentations Presentation @ixek Notebooks as usual (nbviewer, GitHub, GitLab) Static Binderize your notebooks Interactive Generate a book (or an e-book) out of a set of notebooks Long-format
  15. RISE

  16. None
  17. None
  18. None
  19. None
  20. 20 Even more interactive @ixek

  21. ipywidgets

  22. 22 Create your own dashboards using Jupyter If you were

    ever jealous of Shiny apps @ixek
  23. None
  24. 24 @ixek They now support async IPython 7.0 now suports

    AsyncIO so you can now natively use it with the IPython REPL and the notebooks (and should also work with all the other interfaces).
  25. 25 It is all good and fun… until @ixek

  26. 26 The community and the ecosystem is so vast… I

    struggle to keep up to date @ixek
  27. None
  28. 28 Hidden states and non-intuitive workflows @ixek

  29. 29 @ixek

  30. 30 I spend so much time reviewing code @ixek

  31. 31 @ixek

  32. 32 @ixek

  33. 33 Notebooks are not for production… or scale @ixek

  34. 34 @ixek

  35. 35 Taming the beast @ixek Make your life easier

  36. 36 Avoid the urge to reinvent the wheel @ixek

  37. 37 Enforce good practices nbstripout @ixek

  38. 38 Towards notebooks diffing and merging nbdime @ixek

  39. 39 It can be used in production @ixek

  40. 40 It scales and loves the cloud ☁ @ixek

  41. 41 @ixek

  42. 42 @ixek

  43. 43 Consider contributing back @ixek

  44. 44 Packages mentioned in the slides • Binder https://mybinder.org/ •

    Repo2docker https://repo2docker.readthedocs.io/en/latest/ • Nbconvert https://github.com/jupyter/nbconvert • Nbdime https://github.com/jupyter/nbdime • voilá https://github.com/QuantStack/voila • Panel https://panel.pyviz.org/index.html • RISE https://rise.readthedocs.io/en/stable/ • Ipywidgets https://ipywidgets.readthedocs.io/en/stable/ • Azure notebooks https://notebooks.azure.com/ • BinderHub https://binderhub.readthedocs.io/ • JupyterHUb https://jupyterhub.readthedocs.io/en/stable/ • nbstripout https://github.com/kynan/nbstripout • Jupyterbook https://jupyter.org/jupyter-book/intro.html @ixek
  45. 45 @ixek Thank you Contact me: @ixek tania.allard@Microsoft.com bit.ly/PyConCZ-Jupyter

  46. 46 Credits @ixek • Icons by Flaticon • Infographics by

    Freepik • Chris Holdgraf from Jupyter and Berkley for inspiration and craking slides https://speakerdeck.com/choldgraf/open- infrastructure-in-the-cloud-with-jupyterhub • The lovely Jupyter community