The Perks of a Jupyter Notebook

Some of us scream Eureka! and others immediately pass out, but when the code finally works and everything does check out, be it by a transcendence from euphoria or this one colleague that slaps you awake, you are called to share.

With what energy you have or can muster, you’re faced with the hard task of creating an informative presentation, that more often than not, requires just as much effort (or more) than what you put into creating the code itself.

And by the end of it, you’re giving talks while jumping from each and every resource you’ve amassed in that heavy virtual bag of slides, documentation, code, and other possibly useful tools you’ve thrown into the mix for making sense of your work to others.

Albeit an exaggeration of what it means to share code, creating something that is shareable is no small feat in of itself.

Enter, the Jupyter Notebook. A tool that streamlines how one goes about creating a presentation for code. And there is no description of it more succinct and complete than that found on the Jupyter homepage.

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more. –

But I must emphasize the following: Live code and Narrative Text.

These two features easily give you the ability to create resources like interactive workbooks for lectures or workshops, flexible presentations where you can make changes on the fly, and clearer code documentation.

Jupyter Notebook Strip

Each notebook is made from an assortment of cells that can run code, present markdown text, or configure metadata for converting the notebook to any other useful format such as slides.

Sample notebook

Aside from that Notebooks contain a complete record of a user’s session, which means all variables, functions, classes and other code structures stored, are accessible to all cells. This allows you to reference any defined construct at any point in your notebook.


Among the many different ways of sharing one’s code, the potential unlocked in doing it through a Jupyter Notebook provides more than just flexibility, but a medium for a narrative sure to make your code come alive.