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.

examples of jupyterlab workspaces in single document and multiple document workspaces

JupyterLab: Jupyter’s Next-Generation Notebook Interface

JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data. JupyterLab is flexible: configure and arrange the user interface to support a wide range of workflows in data science, scientific computing, and machine learning. JupyterLab is extensible and modular: write plugins that add new components and integrate with existing ones.

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

Jupyter supports 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.

examples of Voilà dashboards

Communicate your results with Voilà.

Voilà helps you communicate insights, by transforming a Jupyter Notebook into a stand-alone web application you can share. It gives you control over what your readers experience in a secure and customizable interactive dashboard.

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
  • QuantStack
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.

icon to represent notebook 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.

icon to represent a protocol

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

icon that looks like a terminal represents kernel

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.