The JupyterLab Developer Guide is for developing JupyterLab extensions or developing JupyterLab itself.
General Codebase Orientation¶
jupyterlab/jupyterlab repository contains two packages:
- an npm package indicated by a
package.jsonfile in the repo’s root directory
- a Python package indicated by a
setup.pyfile in the repo’s root directory
The npm package and the Python package are both named
See the Contributing Guidelines for developer installation instructions.
src/: the source typescript files.
jlpm run cleandeletes the
typings/: type definitions for external libraries that typescript needs.
buildutils/: Utilities for managing the repo
examples/ directory contains stand-alone examples of components,
such as a simple notebook on a page, a console, terminal, and a
lab example illustrates a simplified combination of
components used in JupyterLab. This example shows multiple stand-alone
components combined to create a more complex application.
The tests are stored and run in the
test/ directory. The source
files are in
jupyterlab/ directory contains the Jupyter server extension.
The server extension includes a private npm package in order to build
the webpack bundle which the extension serves. The private npm
package depends on the
jupyterlab npm package found in the repo’s
git-hooks/ directory stores some convenience git hooks that
automatically rebuild the npm package and server extension every time
you check out or merge (via pull request or direct push to master) in
the git repo.
After building the docs (
jlpm run docs),
docs/index.html is the
entry point to the documentation.