Jupyter Builder
Build tools for JupyterLab extensions — extracted from the core JupyterLab codebase to be maintained and used independently.
Installation
pip install jupyter_builder
CLI
build
Compile the extension JavaScript assets for consumption by a Jupyter app.
jupyter-builder build <path/to/extension>
develop
Install extension assets in development mode (analogous to pip install -e). Uses a symlink by default.
jupyter-builder develop <path/to/extension>
watch
Automatically rebuild development assets when source files change.
jupyter-builder watch <path/to/extension>
For advanced configuration, see the Advanced section for available flags.
jlpm
jupyter-builder ships jlpm, a Jupyter-aware Node.js package manager wrapper:
jlpm install
jlpm build
Advanced
CLI flags
build
| Flag | Description |
|---|---|
--development |
Build in development mode (default: False) |
--source-map |
Generate source maps (default: False) |
--static-url=<url> |
Set the URL for static assets |
--core-version=<version> |
JupyterLab core version to build against |
--core-package-file=<path> |
Path to a core application package.json (overrides --core-version) |
develop
| Flag | Description |
|---|---|
--overwrite |
Overwrite existing files |
--user |
Install to the user's directory |
--sys-prefix |
Install under sys.prefix (default: True) |
--labextensions-dir=<path> |
Install to a custom labextensions directory |
watch
| Flag | Description |
|---|---|
--development |
Build in development mode (default: True) |
--source-map |
Generate source maps (default: False) |
--core-version=<version> |
JupyterLab core version to build against |
--core-package-file=<path> |
Path to a core application package.json (overrides --core-version) |
Python API
from jupyter_builder.federated_extensions import (
build_labextension,
develop_labextension_py,
watch_labextension,
)
build_labextension(
"/path/to/extension",
development=False,
source_map=False,
static_url=None,
core_version=None,
core_package_file=None,
)
develop_labextension_py(
"/path/to/extension",
overwrite=True,
symlink=True,
user=False,
sys_prefix=True,
)
watch_labextension(
"/path/to/extension",
labextensions_path=[...],
development=True,
source_map=False,
)
Environment variables
jupyter-builder supports the following environment variables to override network URLs — for example, to point at an internal mirror or a local proxy. A warning is emitted at startup whenever a variable is set.
| Variable | Default | Purpose |
|---|---|---|
JPBLD_NPM_URL |
https://registry.npmjs.org |
npm registry used to resolve and download @jupyterlab/core-meta |
JPBLD_RAW_GITHUB_URL |
https://raw.githubusercontent.com |
Raw GitHub content URL used as a fallback when npm is unavailable |
Example — redirect to a corporate npm mirror:
export JPBLD_NPM_URL=https://npm.internal.example.com
jupyter-builder build /path/to/extension
Core metadata resolution order
When no explicit --core-version is given, jupyter-builder looks for
@jupyterlab/core-meta in the extension's node_modules first (no network
required). If the package is not found there a warning is printed and the
metadata is fetched from the npm registry, falling back to raw GitHub if npm
is unreachable.
Uninstall
pip uninstall jupyter_builder
Credits
This package was initially created during GSoC 2024 by @cronan03, mentored by @fcollonval.
Metadata
Release files for jupyter-builder 1.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyter_builder-1.2.3.tar.gz | 1.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_builder-1.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.0 MB
Release files / jupyter_builder-1.2.3.tar.gz
| Download URL | jupyter_builder-1.2.3.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01aba6794eb9b19e0e29ae21137ca60ba4135c70347d4b9f664a586822b8c809
|
|
BLAKE2b-256 checksum How to use checksums |
753e56f593e6a664cd14d441724654ce8243f3cac7d3e45867cf084749c8bc75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / jupyter_builder-1.2.3-py3-none-any.whl
| Download URL | jupyter_builder-1.2.3-py3-none-any.whl |
|---|---|
| Size | 947.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5ea5a7190c2a7b082494abade98eece1b2b5bd5dbd7d610606cbcd10a1d08b3
|
|
BLAKE2b-256 checksum How to use checksums |
84aabe79e87c50698673f196d0633fc1664607da2289f9688d1de7a1c9db9e71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|