Skip to content
JupyterLab computational environment.
JavaScript TypeScript Python CSS HTML Shell
Branch: master
Clone or download
jasongrout Publish 1.1.0a2
md5: 6da6cd231f0213af4473b524df32d5d5
sha1: 0b462f338a52cc0237c47078dc3cec08c375be0c
sha256: f29db877015d089324f2f5f05085f7ac38d1c83b8c97322c74011946841cadc5

md5: 3d65edf6e01734c083e6cd9d3e324ef7
sha1: 80ffdc73dd46d81cb733f9ecf8d98d5dc2aef177
sha256: 1b3a9b072c5b788adb9e24487eafab9b4636ede9be357e5ab970fb87c1c5aca2
Latest commit 3592afd Aug 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Typo fix Aug 9, 2019
binder Remove leftover test code. Feb 12, 2019
buildutils New version Aug 16, 2019
design Lint fixes Sep 6, 2018
dev_mode Publish 1.1.0a2 Aug 16, 2019
docs Update issue.rst Aug 12, 2019
examples New version Aug 16, 2019
jupyter-config/jupyter_notebook_config.d Add data_files support (#3546) Jan 6, 2018
jupyterlab Publish 1.1.0a2 Aug 16, 2019
packages Publish 1.1.0a2 Aug 16, 2019
prebuild Build Vega bundles separately from other code Jun 26, 2019
scripts Move pinned install tests to python from bash Aug 7, 2019
tests New version Aug 16, 2019
testutils New version Aug 16, 2019
typedoc-theme/partials Switch to ts 3.1 Sep 25, 2018
.bumpversion.cfg Publish 1.1.0a2 Aug 16, 2019
.eslintignore Template the css loading Jun 10, 2019
.eslintrc cleanup May 28, 2019
.gitattributes Upgrade to yarn 1.5.1 Mar 6, 2018
.gitignore ignore the imports.css file when building core mode Jun 11, 2019
.lintstagedrc cleanup build and git scripts Sep 29, 2018
.meeseeksdev.yml Add meessekdev bot config file Oct 15, 2018
.prettierignore Ignore eggs directory May 9, 2019
.prettierrc Add eslint interop Jul 2, 2018
.yarnrc Update lerna (#5262) Sep 4, 2018 Lint Aug 12, 2019 fix typo Jul 25, 2019
LICENSE Update copyright notice. (#4931) Jul 19, 2018 Workspaces CLI (#5166) Sep 20, 2018 Update Aug 7, 2019 clean up release notes Jul 9, 2019
azure-pipelines.yml stop using py35 on linux Jun 6, 2019 Fix publish on Windows Jul 1, 2019
lerna.json Update lerna (#5262) Sep 4, 2018
package.json Merge pull request #7013 from blink1073/build-options Aug 16, 2019
readthedocs.yml Avoid installing jlab at all (#4929) Jul 19, 2018
setup.cfg release cleanup Jun 2, 2019 Remove rc version specifier for jupyterlab_server. Jul 22, 2019 Workspaces CLI (#5166) Sep 20, 2018
tsconfigbase.json post rebase delint/integrity/fixes Aug 14, 2019
tslint.json Enable strict promise rules. Mar 22, 2019
yarn.lock Deduplicate yarn.lock Aug 16, 2019

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


PyPI version Downloads Build Status Documentation Status GitHub Discourse Gitter


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 offering 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. JupyterLab will eventually replace the classic Jupyter Notebook.

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

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

Read the latest version's documentation on ReadTheDocs.

Getting started


JupyterLab can be installed using conda or pip. For more detailed instructions, consult the installation guide.

Project installation instructions from the git sources are available in the contributor documentation.


If you use conda, you can install it with:

conda install -c conda-forge jupyterlab


If you use pip, you can install it with:

pip install jupyterlab

If installing using pip install --user, you must add the user-level bin directory to your PATH environment variable in order to launch jupyter lab.

Installing with Previous Versions of Jupyter Notebook

When using a version of Jupyter Notebook earlier than 5.3, the following command must be run 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 the browser. See the documentation for additional details.

Prerequisites and Supported Browsers

Jupyter notebook version 4.3 or later is required. To check the notebook version, run the command:

jupyter notebook --version

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

  • Firefox
  • Chrome
  • Safari

See our documentation for additional details.



To contribute to the project, please read the contributor documentation.

JupyterLab follows the Jupyter Community Guides.

Extending JupyterLab

To start developing an extension, see the developer documentation and the API docs.


JupyterLab uses 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. The maintenance team is assisted 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, Quansight/City of LA (general core development, extensions).
  • Saul Shanabrook, Quansight (general development, extensions)
  • Steven Silvester, JPMorgan Chase (co-creator, release management, packaging, prolific contributions throughout the code base).
  • Vidar T. Fauske, JPMorgan Chase (general development, extensions).

Maintainer emeritus:

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

This list is provided to give the reader context on who we are and how our team functions. To be listed, please submit a pull request with your information.

Getting help

We encourage you to ask questions on the Discourse forum. A question answered there can become a useful resource for others.

Please use the GitHub issues page to provide feedback or submit a bug report. To keep resolved issues self-contained, the lock bot will lock closed issues as resolved after a period of inactivity. If related discussion is still needed after an issue is locked, please open a new issue and reference the old issue.

Weekly Dev Meeting

We have videoconference meetings every week where we discuss what we have been working on and get feedback from one another.

Anyone is welcome to attend, if they would like to discuss a topic or just to listen in.

You can’t perform that action at this time.