Installation | Documentation | Contributing | License | Team | Getting help |
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 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 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
pip
with Python version 3:py -3 -m pip install jupyterlab
- If your system has a
python3
command (standard on Unix-like systems), install with:python3 -m pip install jupyterlab
- 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://github.com/jupyterlab/jupyterlab.git#egg=jupyterlab
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
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.
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 official Jupyter Code of Conduct.
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.
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.