暫無描述

Nicholas Bollweg 4e81accfe7 use appName when restoring workspaces (#10724) 3 年之前
.github 4d913a9249 Backport PR #10687: Clean up Link Caching (#10688) 3 年之前
binder 6c4a5168af Enable real time collaboration on the dev Binder (#10258) 4 年之前
builder a02002a628 New version 3 年之前
buildutils a02002a628 New version 3 年之前
design d7a9358062 Fix a few more typos 4 年之前
dev_mode a8fec9f08b Publish 3.1.0 3 年之前
docker dd22a03a0a Switch to dev-mode for ui-tests 3 年之前
docs 7a96112f93 Backport PR #10713: Minor improvement to contributing documentation (#10715) 3 年之前
examples a02002a628 New version 3 年之前
jupyter-config 678646cec1 enable jupyterlab to work as a classic notebook extension and fix handling of binder 4 年之前
jupyterlab a8fec9f08b Publish 3.1.0 3 年之前
packages 4e81accfe7 use appName when restoring workspaces (#10724) 3 年之前
release 22f04440b4 Add a Docker file for a clean release environment 5 年之前
scripts 6e81047447 Backport PR #10660: Fix integrity2 test (#10683) 3 年之前
testutils a02002a628 New version 3 年之前
typedoc-theme c3048d1dd1 Replaced ... with ellipses unicode character in .ts files (#10208) 3 年之前
ui-tests d5379411b1 Backport PR #10664: Restore the focus target check removed in #10517 (#10665) 3 年之前
.bumpversion.cfg 5323ca3e7c bump version 3 年之前
.cleanignore 2de04f2c37 implemented fallback arg for LabIcon.resolveX methods 5 年之前
.dockerignore 108e46a5bc Carry end-to-end tests on docker (#10498) 3 年之前
.eslintignore f7c86cccd8 Build context menu from settings for easy customization (#10373) 3 年之前
.eslintrc.js dbdefed9db Add linter rule for sorting import (#10344) 3 年之前
.gitattributes 2a3bc70c04 Upgrade to yarn 1.5.1 7 年之前
.gitignore c95171201d Finish Releaser Integration (#10606) 3 年之前
.gitpod.yml 757a1c3a38 dont open in browser 4 年之前
.meeseeksdev.yml f2afcc5aad Add meessekdev bot config file 6 年之前
.prettierignore f7c86cccd8 Build context menu from settings for easy customization (#10373) 3 年之前
.prettierrc 4ee83bd2b2 Lint - updates from the new version of prettier. 4 年之前
.yarnrc b513457b01 Update lerna (#5262) 6 年之前
CHANGELOG.md 7925606eab Update Changelog for 3.1 final release (#10709) 3 年之前
CONTRIBUTING.md 9f28678d40 solves issue #8626 4 年之前
CORPORATE.md 9bdc421624 fix typo 5 年之前
Dockerfile dd22a03a0a Switch to dev-mode for ui-tests 3 年之前
LICENSE 4817dbc6b1 More license updates (#9779) 3 年之前
MANIFEST.in 108e46a5bc Carry end-to-end tests on docker (#10498) 3 年之前
README.md a1e6ef15ba Mention prebuilt extensions in README and docs (#10604) 3 年之前
RELEASE.md c5bc037c47 allow bumpversion to work with patch (#10360) 3 年之前
clean.py aeb2115a07 simplified .cleanignore, added `@` pattern syntax 5 年之前
conftest.py eab39ab3ec Update server(s), nbclassic, pytest fixtures 4 年之前
lerna.json b513457b01 Update lerna (#5262) 6 年之前
lint-staged.config.js 46ec0496d4 modernize filebrowser tests 5 年之前
package.json a83cccb03e Backport PR #10621: More automated release fixes (#10629) 3 年之前
pyproject.toml a4d3ba60af Backport PR #10673: Clean up link checking (#10674) 3 年之前
readthedocs.yml e13a60c49a Update RTD 4 年之前
setup.cfg dd22a03a0a Switch to dev-mode for ui-tests 3 年之前
setup.py 0fe73e1f4b Remove Runtime Dependency on Packaging (#10217) 4 年之前
tsconfig.eslint.json 7237fdccca Automated UI testing using Galata (#10331) 3 年之前
tsconfigbase.json df0b0f7438 Turn on strict null checks (except for services) 5 年之前
tsconfigbase.test.json cdb5b99a88 Convert jest imports to typescript type references. 4 年之前
tsconfigdoc.json 58efb6b043 Refresh yarn.lock in preparation for 3.1 (#10516) 3 年之前
typedoc.js 7237fdccca Automated UI testing using Galata (#10331) 3 年之前
yarn.lock 58efb6b043 Refresh yarn.lock in preparation for 3.1 (#10516) 3 年之前

README.md

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

JupyterLab

PyPI version Downloads Build Status Build Status Documentation Status Crowdin GitHub Discourse Gitter

Binder

Open in Gitpod

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. The prebuilt extensions can be distributed via PyPI, conda, and other package managers. The source extensions can be installed directly from npm (search for jupyterlab-extension) but require additional build step. You can also find JupyterLab extensions exploring 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.


Getting started

Installation

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

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

mamba and conda

If you use mamba or conda, you can install it with:

mamba install -c conda-forge jupyterlab

or

conda install -c conda-forge jupyterlab

pip

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

Running

Start up JupyterLab using:

jupyter lab

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:

  • Firefox
  • Chrome
  • Safari

See our documentation for additional details.


Getting help

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

Bug report

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.

Feature request

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.


Development

Extending JupyterLab

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

Contributing

To contribute code or documentation to JupyterLab itself, please read the contributor documentation.

JupyterLab follows the Jupyter Community Guides.

License

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.

Team

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, Splunk (general development, extensions).
  • Alex Bozarth, IBM (general development, extensions).
  • Eric Charles, Datalayer, (general development, extensions).
  • Frédéric Collonval, QuantStack (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).
  • Brian Granger, AWS (co-creator, strategy, vision, management, UI/UX design, architecture).
  • Jason Grout, Bloomberg (co-creator, vision, general development).
  • Michał Krassowski, University of Oxford (general development, extensions).
  • Max Klein, JPMorgan Chase (UI Package, build system, general development, extensions).
  • Gonzalo Peña-Castellanos, QuanSight (general development, i18n, extensions).
  • Fernando Perez, UC Berkeley (co-creator, vision).
  • Isabela Presedo-Floyd, QuanSight Labs (design/UX).
  • Steven Silvester, Apple (co-creator, release management, packaging, prolific contributions throughout the code base).
  • Jeremy Tuloup, QuantStack (general development, extensions).

Maintainer emeritus:

  • Chris Colbert, Project Jupyter (co-creator, application/low-level architecture, technical leadership, vision, PhosphorJS)
  • Jessica Forde, Project Jupyter (demo, documentation)
  • Tim George, Cal Poly (UI/UX design, strategy, management, user needs analysis).
  • Cameron Oelsen, Cal Poly (UI/UX design).
  • Ian Rose, Quansight/City of LA (general core development, extensions).
  • Andrew Schlaepfer, Bloomberg (general development, extensions).
  • Saul Shanabrook, Quansight (general development, extensions)

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.