Expertise Technology

Why Use Jupyter Notebook in Your Project

Roman Latyshenko

CTO

Jupyter Notebook for Your Next Project: Why Use

What is Jupyter notebook?

Jupyter notebook (JUlie, PYThon, R) is web-based open-source software for creating and sharing documents, containing live code. Jupyter helps create the environment to support scientific computing and visualize interactive data. 

An example of Jn visualization: mapping a brain activity during the magnetoencephalography

Usually, the results of a developer’s work are presented as raw code. Jupyter Notebook helps us to visualize the output.  

Researchers use Jupyter notebooks to combine: 

  • program code;
  • computational output;
  • narrative text;
  • multimedia resources. 

The rising popularity of the project is explained by the team of enthusiasts behind the software who redesigned the architecture of the Jupyter notebook making it more usable. Moreover, they created JupyterLab, a next-generation JN environment to support data science, machine learning, & scientific computing. 

Although Jupyter is available in dozens of programming languages as kernels, I prefer using it with Python. Besides, the programming language is also popular in the scientific society, regarding Python simplicity & steep learning curve.

Contents:

Main features of Jupyter notebook

Working principle

Jupyter notebook has two components: 

  • “front-end”, where a user inputs code;
  • “back-end” kernel, which runs the code and visualizes the output. 
This is how the process of running the Jupyter notebook looks like

Each notebook is running only one kernel, but you can still change kernels on the fly. 

So, Jupyter notebook allows:

1). Code editing;

2). Code execution;

3). Rich text editing (using the Markdown markup language);

4). Computation results using rich media representations (.svg, .png, HTML, LaTex). 

What is Jupyter notebook used for?

There are two types of Jn based on its purpose:

Lab-style notebooks are a kind of a research journal, helping a scientist to keep track of their journey. It includes models based on data you’ve uploaded, processes, and visualized. 

Deliverable notebooks are meant to present only a specific piece of work. 

Let’s check when and why the different types of Jupyter notebooks are used in practice.

Visualization of computation and calculation

Jupyter Notebook type: lab-style.

Where used: science. 

Scientific concepts & complex computations are easier to process when they are visualized. Jupyter notebook is a powerful tool for digital scientists to support scientific workflows, data, code, and visualizations. 

Entos: chemistry dashboard

The project makes possible a molecule model simulation using the Jupyter notebook functionality. As a technical partner, I worked on a Python library for an existing chemistry engine, with custom functionality for the Jupyter notebook.

Visualization of the chemical model in Entos

🪐 Jupyter notebook makes science more open thanks to its visualization & sharing opportunities. 


Subscribe to our newsletter

No spam, only hot&fresh posts from Jellyfish.tech team

Every month our subscribers get awesome updates

Onboarding & instructions

Jupyter Notebook type: lab-style.

Where used: onboarding & support. 

New is always a frustrating thing for any person. That’s why one of the primary tasks of people who launch a new product or service is to clearly communicate the ways to use it to their prospects. 

But what if we go beyond the range of everyday projects and have in mind something more difficult instead?

Complex applications with scientific elements require special attention to users onboarding and a bunch of instructions. Jupyter notebook can help make these instructions illustrative.

SciDash: instructions visualization

As a technical partner, I worked on the creation of the scientific dashboard for the validation of computational scientific models. For this project, I built the table for accessing the quality of scientific models automatically fetching the data from the library. 

We decided to visualize the SciDash instructions using the Jupyter notebook to make sure the recently joined employees are on the same page with the experienced users. 

SciDash instructions

🪐  Jupyter notebook is a good way to make the instructions illustrative, reducing the time a user needs to learn a new system.

Teaching & learning

Jupyter Notebook type: deliverable.

Where used: online & offline education, corporate training.

You could apply Jupyter notebook in every discipline implying data analysis or computation to support the studying process, designing the learning environments and experiences. 

Jupyter notebook incorporated in learning improves:

  • understanding of a subject;
  • students’ engagement;
  • overall performance.
A Jupyter notebook visualization of hurricane paths for middle and high school students.

🪐 In many cases, basic Python knowledge is enough to create illustrative materials for classes. And thanks to simple sharing options (including the Littlest JupyterHub version for easy sharing with no more than 100 users on a single server), Jupyter becomes one of the most useful and flexible tools for e-learning. 

Teamwork & presentation 

Jupyter Notebook type: deliverable.

Where used: business & technical processes, sales & presentation. 

When a team of business analysts, explorers, and/or researchers works together with the software engineers, etc., sometimes it’s hard to find a common language to ensure each of the team members understands the others. 

The tool allows presenting the results of your work to colleagues, stakeholders. 

🪐 Jupyter notebook may become a good visualization solution to use when working to reach a common goal. 

Jupyter notebook use cases

Jupyter notebook can be used in every project that needs multiple visualizations based on provided data. 

Jupyter notebook would be a good option in one of these cases and many more:

  • demonstrate the scientific model to someone;
  • conduct an experiment including the models;
  • capture and visualize the scientific journey; 
  • communicate a certain message;
  • share the scientific concept;
  • operate the complex ideas;
  • make an impressive product demo;
  • teach to use the product/ feature;
  • engage in learning & training.

Want to see how you can get the most of the Jupyter notebook in your next project? I will show you during a free 30-minute consultation:



Jupyter notebook: frequently asked questions

Is Jupyter notebook software?

Jupyter notebook is a software running in your browser. 

Is Jupyter notebook free?

Jupyter will always be 100% free software released under a modified BSD License.

What is the Jupyter notebook kernel?

Notebook kernel is an “engine” that runs the code. The kernel is launched automatically when a user opens the notebook, and it produces the result each time the computations are executed.

What is Jupyter notebook server?

The notebook server processes the front-end queries of the Jupyter notebook.

Can Jupyter notebook run without internet?

Yes, a user can execute Jupyter notebook offline on a local desktop.

Can you collaborate on Jupyter notebook?

Definitely, yes. Collaboration appears to be one of the basic functions of Jupyter notebook.
Google’s Colaboratory project with a google interface.
Kaggle for exploring and running machine learning code.
Binder for turning a Git repository into an interactive notebook.  
Server hosting (internal server, Digital Ocean, etc.) allows real-time collaboration as well.

How do I share my Jupyter notebook?

Jupyter Notebooks are easy to share by:
1). Email;
2). Converting it to HTML;
3). Using NBviewer for jn uploaded to the cloud storage
4). GitHub jn renders

Credits:

Leave a Reply

Your email address will not be published. Required fields are marked *