191 lines (128 sloc) 9.31 KB

Installation | Documentation | Contributing | License | Team | Getting help |


PyPI version Build Status Documentation Status Google Group Join the Gitter Chat Binder

An extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture. Currently ready for users.

JupyterLab is the next-generation user interface for Project Jupyter. It offers all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface. Eventually, JupyterLab will replace the classic Jupyter Notebook.

JupyterLab can be extended using extensions that are npm packages and use our public APIs. You can search for the GitHub topic jupyterlab-extension to find extensions. To learn more about extensions, see our user documentation.

The current JupyterLab releases are suitable for general usage. For JupyterLab extension developers, the extension APIs will continue to evolve.

Read the latest version of our documentation on ReadTheDocs.

Getting started


You can install JupyterLab using conda, pip, or pipenv. We recommend using conda if you do not have a preference.

Instructions on how to install the project from the git sources are available in our contributor documentation.


Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. It can package and distribute software for any language, and by default uses the Anaconda repository managed by Anaconda, Inc. If you wish to use conda and do not have it, see the conda installation instructions.

If you use conda, you can install as:

conda install -c conda-forge jupyterlab


pip is a package management system for installing and updating Python packages. pip comes with Python, so you get pip simply by installing Python. On Ubuntu and Fedora Linux, you can simply use your system package manager to install the python3-pip package. The Hitchhiker's Guide to Python provides some guidance on how to install Python on your system if it isn't already; you can also install Python directly from You might want to upgrade pip before using it to install other programs.

JupyterLab requires Python 3.5 or higher.

  1. If you are using Windows with Python version 3.5 or higher, use the Python Launcher for Windows to use pip with Python version 3:
    py -3 -m pip install jupyterlab
  2. If your system has a python3 command (standard on Unix-like systems), install with:
    python3 -m pip install jupyterlab
  3. You can also just use the python command directly, but this will use the current version of Python in your environment (which may be version 2 or version 3 of Python if you have both installed):
    python -m pip install jupyterlab

Some systems have a pip3 command that has the same effect as python3 -m pip and/or a pip command that has the same effect as python -m pip.

If you add --user after pip install you will install the files to a local user install directory (typically ~/.local/ or %APPDATA%\Python on Windows) instead of the system-wide directory. This can be helpful, especially if you are not allowed to write to the system-wide directory. However, if you do this, you must add the user-level bin directory to your PATH environment variable in order to launch jupyter lab.


Pipenv is intended to provide users and developers of applications with an easy method to setup a working environment. You must have Python installed first. See the pipenv installation documentation if you wish to use it but do not have it installed.

If you use pipenv, you can install it as:

pipenv install jupyterlab
pipenv shell

or from a git checkout:

pipenv install git+git://
pipenv shell

When using pipenv, in order to launch jupyter lab, you must activate the project's virtualenv. For example, in the directory where pipenv's Pipfile and Pipfile.lock live (i.e., where you ran the above commands):

pipenv shell
jupyter lab

Installing with Previous Versions of Jupyter Notebook

If you are using a version of Jupyter Notebook earlier than 5.3, then you must also run the following command after installation to enable the JupyterLab server extension:

jupyter serverextension enable --py jupyterlab --sys-prefix


Start up JupyterLab using:

jupyter lab

JupyterLab will open automatically in your browser. See our documentation for additional details.

Prerequisites and Supported Browsers

Jupyter notebook version 4.3 or later. To check the notebook version:

jupyter notebook --version

The latest versions of the following browsers are currently known to work:

  • Firefox
  • Chrome
  • Safari

See our documentation for additional details.



If you would like to contribute to the project, please read our contributor documentation.

JupyterLab follows the Jupyter Community Guides.

Extending JupyterLab

To start developing your own extension, see our developers documentation and API docs.


We use a shared copyright model that enables all contributors to maintain the copyright on their contributions. All code is licensed under the terms of the revised BSD license.


JupyterLab is part of Project Jupyter and is developed by an open community of contributors. Our maintainer team is accompanied by a much larger group of contributors to JupyterLab and Project Jupyter as a whole.

JupyterLab's current maintainers are listed in alphabetical order, with affiliation, and main areas of contribution:

  • Chris Colbert, Project Jupyter (co-creator, application/low-level architecture, technical leadership, vision, PhosphorJS)
  • Afshin Darian, Two Sigma (co-creator, application/high-level architecture, prolific contributions throughout the code base).
  • Jessica Forde, Project Jupyter (demo, documentation)
  • Tim George, Cal Poly (UI/UX design, strategy, management, user needs analysis)
  • Brian Granger, Cal Poly (co-creator, strategy, vision, management, UI/UX design, architecture).
  • Jason Grout, Bloomberg (co-creator, vision, general development).
  • Fernando Perez, UC Berkeley (co-creator, vision).
  • Ian Rose, UC Berkeley (Real-time collaboration, document architecture).
  • Saul Shanabrook, Quansight (general development, extensions)
  • Steven Silvester, JPMorgan Chase (co-creator, release management, packaging, prolific contributions throughout the code base).

Maintainer emeritus:

  • Cameron Oelsen, Cal Poly (UI/UX design).

This list is provided to help provide context about who we are and how our team functions. If you would like to be listed, please submit a pull request with your information.

Getting help

We encourage you to ask questions on the mailing list, and you may participate in development discussions or get live help on Gitter. Please use our issues page to provide feedback or submit a bug report.