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 current JupyterLab documentation on ReadTheDocs.
JupyterLab can be installed using
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. If you are using a Unix derivative (FreeBSD, GNU / Linux, OS X), you can achieve this by using
export PATH="$HOME/.local/bin:$PATH" command.
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:
JupyterLab will open automatically in the browser. See the documentation for additional details.
If you encounter an error like "Command 'jupyter' not found", please make sure
PATH environment variable is set correctly. Alternatively, you can start up JupyterLab using
~/.local/bin/jupyter lab without changing the
PATH environment variable.
Prerequisites and Supported Browsers
The latest versions of the following browsers are currently known to work:
See our documentation for additional details.
We encourage you to ask questions on the Discourse forum. A question answered there can become a useful resource for others.
To report a bug please read the guidelines and then open a Github issue. 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.
We also welcome suggestions for new features as they help make the project more useful for everyone. To request a feature please use the feature request template.
To contribute code or documentation to JupyterLab itself, please read the contributor documentation.
JupyterLab follows the Jupyter Community Guides.
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:
- Mehmet Bektas, Bloomberg (general development, extensions).
- Alex Bozarth, IBM (general development, extensions).
- Eric Charles, Datalayer, (general development, extensions).
- Martha Cryan, IBM (general development, extensions).
- Afshin Darian, Two Sigma (co-creator, application/high-level architecture, prolific contributions throughout the code base).
- Vidar T. Fauske, JPMorgan Chase (general development, extensions).
- Tim George, Cal Poly (UI/UX design, strategy, management, user needs analysis)
- Brian Granger, AWS (co-creator, strategy, vision, management, UI/UX design, architecture).
- Jason Grout, Bloomberg (co-creator, vision, general development).
- Max Klein, JPMorgan Chase (UI Package, build system, general development, extensions).
- Fernando Perez, UC Berkeley (co-creator, vision).
- Ian Rose, Quansight/City of LA (general core development, extensions).
- Andrew Schlaepfer, Bloomberg (general development, extensions).
- Saul Shanabrook, Quansight (general development, extensions)
- Steven Silvester, Apple (co-creator, release management, packaging, prolific contributions throughout the code base).
- Chris Colbert, Project Jupyter (co-creator, application/low-level architecture, technical leadership, vision, PhosphorJS)
- Jessica Forde, Project Jupyter (demo, documentation)
- 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.
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.