circle of programming language icons
circle of programming language icons
circle of programming language icons
white background

Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages.

example notebook of Lorenz differential equations

The Jupyter Notebook

The 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. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.

icon to represent a language

Language of choice

The Notebook has support for over 40 programming languages, including Python, R, Julia, and Scala.

Share notebooks

Notebooks can be shared with others using email, Dropbox, GitHub and the Jupyter Notebook Viewer.

icon to represent an interactive widget

Interactive output

Your code can produce rich, interactive output: HTML, images, videos, LaTeX, and custom MIME types.

spark logo to represent big data

Big data integration

Leverage big data tools, such as Apache Spark, from Python, R and Scala. Explore that same data with pandas, scikit-learn, ggplot2, TensorFlow.

A multi-user version of the notebook designed for companies, classrooms and research labs

authentication icon

Pluggable authentication

Manage users and authentication with PAM, OAuth or integrate with your own directory service system.

icon to represent centralized deployment

Centralized deployment

Deploy the Jupyter Notebook to thousands of users in your organization on centralized infrastructure on- or off-site.

container icon

Container friendly

Use Docker and Kubernetes to scale your deployment, isolate user processes, and simplify software installation.

icon to represent data

Code meets data

Deploy the Notebook next to your data to provide unified software management and data access within your organization.

Currently in use at

  • Google
  • Microsoft
  • IBM
  • Bloomberg
  • OReilly
  • Anaconda
  • Rackspace
  • SoundCloud
  • Quantopian
  • NetApp
  • Carpentry
  • Janelia
  • CodeNeuro
  • NSite
  • CoCalc
  • BrynMawr
  • CalPoly
  • Berkeley
  • Sheffield
  • Washington
  • Clemson
  • Michigan State University
  • Northwestern University
  • NYU
  • NASA
  • Ayasdi
  • The Data Incubator
icon to represent jupyter architecture

Open Standards for Interactive Computing

The Jupyter Notebook is based on a set of open standards for interactive computing. Think HTML and CSS for interactive computing on the web. These open standards can be leveraged by third party developers to build customized applications with embedded interactive computing.

The Notebook Document Format

Jupyter Notebooks are an open document format based on JSON. They contain a complete record of the user's sessions and include code, narrative text, equations and rich output.

Go back

Interactive Computing Protocol

The Notebook communicates with computational Kernels using the Interactive Computing Protocol, an open network protocol based on JSON data over ZMQ and WebSockets.

Go back

Kernels

Kernels are processes that run interactive code in a particular programming language and return output to the user. Kernels also respond to tab completion and introspection requests.

Go back