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.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jupyter_builder-1.2.4.tar.gz | 1.0 MB | Without provenance | Details for jupyter_builder-1.2.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jupyter_builder-1.2.4-py3-none-any.whl | Python 3 | none | any | Details for jupyter_builder-1.2.4-py3-none-any.whl |
Total release size: 2.0 MB
Release files / jupyter_builder-1.2.4.tar.gz
| Download URL | jupyter_builder-1.2.4.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da5b46fc49faac39e977259e489519ee1a92917c31d90d1d258832d8f4d288a3
|
|
BLAKE2b-256 checksum How to use checksums |
694d5681a9a083becca3e52d53c21bc16ee7ccdea485a4b15f4ad5c97b57e4a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / jupyter_builder-1.2.4-py3-none-any.whl
| Download URL | jupyter_builder-1.2.4-py3-none-any.whl |
|---|---|
| Size | 947.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
74fbafc8a7bedcc88415fab7da05727a7668f7dbdc069676f47790158e255f5a
|
|
BLAKE2b-256 checksum How to use checksums |
8d78bfa339893d0fb06f5debb5a6e8948ecf0c0070b4e6bb65c157a8389d55d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Security for jupyter-builder 1.2.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.