Jupyter Notebook is a web-based environment for interactive computing, letting you mix code, output, and narrative text in a single document. It's the language-agnostic notebook application at the center of Project Jupyter, aimed at anyone doing exploratory data analysis, teaching, or literate programming, regardless of which programming language they're working in.
The project traces its lineage back to the IPython notebook. In 2015, what the README calls "The Big Split" separated the language-agnostic notebook interface from language-specific code such as the IPython kernel for Python, so that the notebook application could keep evolving independently while individual language kernels are developed and maintained in their own repositories by their own communities.
6.5.x branch, and it depends on the nbclassic package for its HTML, JavaScript, and CSS assets, with new feature work focused on v7 instead.Jupyter Notebook fits data analysis, scientific computing, teaching, and documentation workflows where you want to interleave runnable code with its output and surrounding explanation. Because the notebook format and application are language-agnostic, it works across the many languages that have a Jupyter kernel available, not just Python.
If you rely on custom notebook extensions written for Notebook v5 or Classic Notebook v6, be aware that they are not compatible with Notebook v7, since v7 is built on a different architecture combining JupyterLab components with Jupyter Server. In that case, either stay on the maintained 6.5.x branch until you can migrate your extensions, or plan for that migration work up front. Anyone still on Notebook v5 should upgrade, since the README states it's no longer maintained at all.
It's also a reasonable starting point if you just want to see what a Jupyter notebook looks like before installing anything locally. The repository is wired up to launch on mybinder.org, which spins up a temporary hosted environment you can experiment in directly from a browser.
Install Jupyter Notebook with pip:
pip install notebook
Then launch it locally:
jupyter notebook
Running it on a remote server requires additional configuration before starting the server. See the "Running a notebook server" guide in the Jupyter Server documentation for the steps involved, since exposing it publicly without configuration is not safe.
If you want to work on Jupyter Notebook itself rather than just use it, the project's CONTRIBUTING.md file covers how to set up a local development installation.