Skip to main content
VRE logo

VRE JupyterLab Extension

CI PyPI Version Downloads JupyterLab 4 Docs License


A prebuilt JupyterLab 4 extension that provides advanced CodeMirror 6 highlighting for the VRE DSL and a smart execution guard to protect your VRE kernels.


Quick Install

The VRE JupyterLab Extension is a prebuilt integration designed to support the Virtual Research Environment (VRE) directly within JupyterLab 4. It provides domain-specific syntax highlighting and an intelligent execution guard to ensure experimental provenance is maintained.


Installation

Because the frontend assets are prebuilt and bundled directly into the Python wheel, you do not need Node.js or any frontend build tools to use this extension.

You can install it directly from PyPI:

pip install vre-jupyterlab-extension
jupyter lab

Developer / Build from Source

To add on the extension, install the local dependencies, compile the frontend, and pack the wheel:

# 1. Setup the project
cd packages/vre-jupyterlab-extension
npm ci

# 2. Build the frontend bundle
npm run build:prod

# 3. Build the Python distribution packages (.whl, .tar.gz)
python3 -m pip install --upgrade build
python3 -m build --wheel --sdist

# 4. Install your local wheel
pip install dist/vre_jupyterlab_extension-*.whl

Core Features

  • Syntax Highlighting: The extension uses CodeMirror 6 to provide accurate, semantic highlighting for the VRE DSL, including custom keywords and measurement units.
  • Execution Guard: To preserve the integrity of your research, the extension includes a strict execution guard. It prevents VRE notebook cells from being edited after they have run and stops concurrent cell executions.
  • MIME Type Synchronization: The extension automatically detects VRE language kernels and ensures that cell inputs and outputs are coerced to the correct text/x-vre MIME type for seamless integration with the language server.

Local Development

If you are looking to contribute or build the project from source, you will need Node.js and a Python virtual environment.

# 1. Install Node.js dependencies
cd packages/vre-jupyterlab-extension
npm ci

# 2. Build the production frontend bundle
npm run build:prod

# 3. Build the Python distribution packages
python3 -m pip install --upgrade build
python3 -m build --wheel --sdist

# 4. Install your local build
pip install dist/vre_jupyterlab_extension-*.whl

For testing during active development, we recommend using the symlink approach:

pip install -e .
jupyter labextension develop . --overwrite

Release Process

We use an automated Python script to manage versioning and clean up build artifacts. When you are ready to publish a new release, simply run:

cd packages/vre-jupyterlab-extension
npm run release

Tip: Always use this tool rather than building manually for releases to ensure package.json, setup.cfg, and __init__.py versions stay perfectly synchronized.

Documentation & Resources

Local documentation development: run mkdocs serve from this directory after installing requirements_docs.txt.

Requirements

  • JupyterLab 4.2 or higher (jupyterlab>=4.2,<5)
  • Python 3.10 or higher

License

This project is licensed under the BSD-3-Clause License. See the LICENSE file for more details.

Metadata

Release files for vre-jupyterlab-extension 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vre-jupyterlab-extension 0.1.15
File Size Uploaded
vre_jupyterlab_extension-0.1.15.tar.gz 162.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vre-jupyterlab-extension 0.1.15
File Interpreter ABI Platform
vre_jupyterlab_extension-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 335.9 kB

Release files / vre_jupyterlab_extension-0.1.15.tar.gz

Download URL vre_jupyterlab_extension-0.1.15.tar.gz
Size 162.4 kB
Tags Source
SHA-256 checksum
How to use checksums
904333c01448f1a864ad6c1c36a118e006a1f94705883ae9c1ee377d5dbc4c07
BLAKE2b-256 checksum
How to use checksums
fd4fce2ee1c19223b396aded43870eb6dcd2daba47116ce08e5319bcb6b545a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / vre_jupyterlab_extension-0.1.15-py3-none-any.whl

Download URL vre_jupyterlab_extension-0.1.15-py3-none-any.whl
Size 173.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fd2af9199d40b1259a4c6520a40e8c70df3aa103b2a83957719404a9e444c70
BLAKE2b-256 checksum
How to use checksums
935299eb5ecb6accaaeb1e764c0257f844837f751fcbb8b625d7a7865ebf24c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 release files

0.1.13

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page