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.
You can install JupyterLab using
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 python.org. You might want to upgrade pip before using it to install other programs.
JupyterLab uses Python, and as of July 2018 JupyterLab can use either Python2 or Python3. However, it's recommended that you install JupyterLab using Python3, even when running Python2 code - and there are different ways to do that. Therefore:
- If you are using Windows with Python version 3.3 or higher, use the Python Launcher for Windows to use
pipwith Python version 3:
py -3 -m pip install jupyterlab
- If your system has a
python3command (standard on Unix-like systems), install with:
python3 -m pip install jupyterlab
- You can also just use the
pythoncommand 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
pip install you will install the files to a local user install directory (typically
%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
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://github.com/jupyterlab/jupyterlab.git#egg=jupyterlab pipenv shell
pipenv, in order to launch
jupyter lab, you must activate the project's virtualenv. For example, in the directory where
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:
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:
See our documentation for additional details.
If you would like to contribute to the project, please read our contributor documentation.
JupyterLab follows the official Jupyter Code of Conduct.
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).
- 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.
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.