Launch JupyterLab with extensions — no install, no config, just go
Project description
jlabx
Launch JupyterLab with extensions — without touching your project's dependencies. Works with both uv and pixi projects.
uv tool install jlabx
jlabx
Why?
You're working in a repo with a pyproject.toml or pixi.toml, but you want JupyterLab with vim bindings, LSP, collaboration, and other extensions. You can't (or don't want to) add them as project dependencies. jlabx manages extensions separately and injects them at launch time — auto-detecting whether you're in a uv or pixi environment.
Quick start
# Install
uv tool install jlabx
In a project with a pyproject.toml or pixi.toml:
jlabx
Launch a single notebook — imports are auto-detected and mapped to PyPI packages:
jlabx analysis.ipynb
# Persist auto-detected deps as PEP 723 metadata in the notebook
jlabx notebook.ipynb --init-deps
# Force uv even in a pixi project
jlabx --uv
# Manage extensions
jlabx list # Show configured extensions
jlabx add jupyterlab-vim # Add an extension
jlabx remove jupyterlab-vim # Remove an extension
Core extensions (always included)
- jupyterlab
- jupyter-collaboration
- jupyter-lsp
- python-lsp-server
Environment detection
jlabx auto-detects your environment:
| Files in cwd | Mode | How it launches |
|---|---|---|
pixi.toml / pixi.lock |
Pixi | pixi run jupyter-lab |
pyproject.toml |
Python project | uv run --with <extensions> jupyter-lab |
| Neither | Standalone | uvx --from jupyterlab --with <extensions> jupyter-lab |
Config
Extensions are stored in ~/.config/jlabx/config.toml (or $XDG_CONFIG_HOME/jlabx/config.toml). Created automatically on first run.
Documentation
Full docs: https://ianhi.github.io/jlabx/
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jlabx-0.2.1.tar.gz.
File metadata
- Download URL: jlabx-0.2.1.tar.gz
- Upload date:
- Size: 69.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f700c4dd466023d6568c4456374f4864f87cca60bd353f8b96c0917e41ac28ba
|
|
| MD5 |
c0f1ee52510fee108290586289efe87f
|
|
| BLAKE2b-256 |
06f729ccbdbab62852efcfae09547f050abb88ee54fadf7764fba4e537e65879
|
Provenance
The following attestation bundles were made for jlabx-0.2.1.tar.gz:
Publisher:
publish.yml on ianhi/jlabx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jlabx-0.2.1.tar.gz -
Subject digest:
f700c4dd466023d6568c4456374f4864f87cca60bd353f8b96c0917e41ac28ba - Sigstore transparency entry: 942326612
- Sigstore integration time:
-
Permalink:
ianhi/jlabx@dcf500fce63c18615ae985e2e9427098ada8c12b -
Branch / Tag:
refs/tags/0.2.1 - Owner: https://github.com/ianhi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dcf500fce63c18615ae985e2e9427098ada8c12b -
Trigger Event:
release
-
Statement type:
File details
Details for the file jlabx-0.2.1-py3-none-any.whl.
File metadata
- Download URL: jlabx-0.2.1-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
920933394d528742826378fedecc73852968620194ba805a755e885632faef82
|
|
| MD5 |
a11c5fa64431922a1180acbb747f468a
|
|
| BLAKE2b-256 |
9f424d6c79a09b89e62a12b74be5c0cd43e17d38ec4489441fb855ab3f372b38
|
Provenance
The following attestation bundles were made for jlabx-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on ianhi/jlabx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jlabx-0.2.1-py3-none-any.whl -
Subject digest:
920933394d528742826378fedecc73852968620194ba805a755e885632faef82 - Sigstore transparency entry: 942326617
- Sigstore integration time:
-
Permalink:
ianhi/jlabx@dcf500fce63c18615ae985e2e9427098ada8c12b -
Branch / Tag:
refs/tags/0.2.1 - Owner: https://github.com/ianhi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dcf500fce63c18615ae985e2e9427098ada8c12b -
Trigger Event:
release
-
Statement type: