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.
<imgalt="Jupyter Notebook with code cells and a bar chart"src="https://github.com/indianmoody/images/blob/master/guide_fcc/guides_jupyter_snap.jpeg"width="400"height="300"/>
In this case, "notebook" or "notebook documents" denote documents that contain both code and rich text elements, such as figures, links, or equations. Because of this mix, people use Jupyter Notebooks to show the description of an analysis and its results. Also, they can run the notebook to execute the code and perform the data analysis in real time.
The name "Jupyter" is a loose acronym combining **Ju**lia, **Py**thon, and **R**, which were the first target programming languages of the Jupyter application. The notebook technology now supports many other languages. You can check the [list of available Jupyter kernels here](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels).
As a server-client application, Jupyter Notebook allows you to edit and run your notebooks via a web browser. You can run the application on a PC without Internet access, or you can install it on a remote server, where you access it through the Internet.
A **kernel** is a program that runs and inpects the user’s code. The Jupyter Notebook application has a kernel for Python code, but there are also kernels available for other programming languages.
The application **dashboard** not only shows you the notebook documents that you have made and can reopen, but can also be used to manage the kernels: you can select which ones are running and shut them down if necessary.
Jupyter notebooks automatically come with the distribution. You'll be able to use notebooks from the default environment. You can use Anaconda or Pip to install Jupyter notebook.
Jupyter notebooks grew out of the IPython project started by Fernando Perez. IPython is an interactive shell, similar to the normal Python shell but with great features like syntax highlighting and code completion. Originally, notebooks worked by sending messages from the web app (the notebook you see in the browser) to an IPython kernel (an IPython application running in the background). The kernel executed the code, then sent it back to the notebook.