Jupyter Notebook

Jupyter Notebook (open source code), which began as the iPython Notebook project, is a development environment for writing and executing Python code. Jupyter Notebook is often used for exploratory data analysis and visualization.

Jupyter Notebook project logo.

Project Jupyter is the top-level project name for all of the subprojects under development, which includes Jupyter Notebook. Jupyter Notebooks can also run code for other programming languages such as Julia and R.

How does Jupyter Notebook work?

The key piece of Jupyter Notebook infrastructure is a web application that runs locally for creating and sharing documents that contain embedded code and execution results.

Screenshot of Jupyter Notebook running in the browser and server in terminal.

Jupyter Notebook is an implementation of the text editors and IDEs concept. Learn how these parts fit together in the development environments chapter or view all topics.

How are IPython Notebook and Jupyter Notebook related?

IPython Notebook was the original project that proved that there was great demand among data scientists and programmers for an interactive, repeatable development environment. Jupyter Notebook became the new official name for the overall project during The Big Split after the IPython Notebook project matured into distinct submodules such as the interactive shell, notebook document format and user interface widgets tools. However, the IPython Notebook name sticks around as the Python backend for Jupyter Notebook which is seriously confusing if you are searching the internet and come across both current and old articles that use all of these names interchangeably.

Jupyter Notebook beginner tutorials

Jupyter Notebook's powerful analysis and visualization environment can be intimidating even for experienced developers that are new to the tool. The following tutorials will explain the basics so you can quickly figure out your own productive workflow.

  • Jupyter Notebook for Beginners: A Tutorial is a great place to start if you have never before used the tool. The guide covers installation, terminology, the user interface and how to publish your notebooks to the web. Screenshots walk you through some of the more confusing bits as you are getting up and running.

  • First Python Notebook is a free guide on analyzing data with Python and Jupyter Notebook. It covers many "Hello, World!"-style examples in both data analysis topics and more general software development areas like Git, GitHub and Markdown.

  • IPython Or Jupyter? covers the evolution of the Notebook concept from its origins in the IPython Notebook implementation through the IPython and Jupyter split that happened in 2015 that separated IPython Notebook into logical subprojects. The post kicks off with some fun lesser-known historical context on other data science notebook projects such as MATLAB and Mathematica to set the stage for IPython and Jupyter's creation.

Example Notebooks

Example Notebooks are easy to fire up and see how other people are working. These resources are highly recommended after you read a couple of tutorials and play around with the tool.

Intermediate to advanced Jupyter Notebook tutorials

Once you get the hang of the basics there are a slew of ways to connect your notebooks to third party APIs and use more advanced Python libraries with your code. These walkthroughs cover a range of topics from niche tricks to common but advanced situations like advanced interactive visualizations.

What do you want to build Jupyter Notebook?

I want to learn how to code a Python web application using a framework.

I want to know about working with data in Python.

I've built a Python web app, now how do I deploy it?

Sign up for two emails per month with Python tutorials and Full Stack Python updates.

Sponsored By

Mapbox logo.

Easily build maps, search and navigation into your Python applications with Mapbox.

Real Python logo

Upgrade your Python skills by reading Real Python's awesome programming email newsletter.

Full Stack Python

Full Stack Python is an open book that explains concepts in plain language and provides helpful resources for those topics.
Updates via newsletter, Twitter & Facebook.
1. IntroductionLearning ProgrammingCore LanguageWhy Use Python?Python 2 or 3?Enterprise PythonPython CommunityCompanies using PythonBest Python ResourcesBest Python VideosBest Python Podcasts2. Development EnvironmentsText Editors & IDEsVimEmacsSublime TextPyCharmJupyter NotebookShellsBash shellZshPowerShellTerminal MultiplexerstmuxScreenPymuxEnvironment configurationApplication DependenciesVirtualenvsEnvironment variablesLocalhost tunnelsSource ControlGitMercurialApache SubversionHosted Source ControlGitHubBitBucketGitLab3. DataRelational DatabasesPostgreSQLMySQLSQLiteObject-relational MappersSQLAlchemyPeeweeDjango ORMSQLObjectPony ORMNoSQL Data StoresRedisMongoDBApache CassandraNeo4jData analysispandasNumPySciPyBokehd3.jsMatplotlibMarkdown4. Web DevelopmentWeb FrameworksDjangoFlaskBottlePyramidFalconMorepathSanicOther Web FrameworksTemplate EnginesJinja2MakoDjango TemplatesWeb DesignHTMLCascading Style Sheets (CSS)Responsive DesignMinificationCSS FrameworksBootstrapFoundationJavaScriptTask QueuesCeleryRedis Queue (RQ)DramatiqStatic Site GeneratorsPelicanLektorMkDocsTestingUnit TestingIntegration TestingCode MetricsDebuggingWebSocketsuvloopWeb APIsMicroservicesBotsAPI CreationAPI IntegrationTwilioSecurity5. DeploymentServersStatic ContentVirtual Private ServersPlatform-as-a-ServiceOperating SystemsUbuntuWeb ServersApache HTTP ServerNginxCaddyWSGI ServersGreen Unicorn (Gunicorn)Continuous IntegrationJenkinsConfiguration ManagementAnsibleDockerServerlessAWS LambdaGoogle Cloud Functions6. DevOpsMonitoringRollbarCachingLoggingWeb AnalyticsChange LogWhat Full Stack MeansAbout the AuthorFuture DirectionsPage Statuses ...or view all topics.

Matt Makai 2012-2018