Jupyter notebook
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
What is Jupyter notebook used for?
Visualization of computation and calculation
Onboarding & instructions
Teaching & learning
Teamwork & presentation
Jupyter notebook use cases
Jupyter notebook: frequently asked questions
Main features of Jupyter notebook
How it works
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
I agree to join Jellyfish.tech mailing list
Our subscribers receive great updates every month
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:
I agree to join Jellyfish.tech mailing list
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 storage4). GitHub jn renders
Credits:
Teaching and Learning with Jupyter
Using the Jupyter Notebook as a Tool for Open Science: An Empirical Study
Entos user tutorial