xtralab
An opinionated JupyterLab meta-package for coding agents.
xtralab installs JupyterLab with a set of extensions and defaults for work
with terminal coding agents: an agent launcher, side-by-side git diffs for
text files and notebooks, prompts about selected code, and a Model Context
Protocol server that lets agents drive the app. It builds on
ajlab, the agent-ready JupyterLab base.
See the documentation for the installation, a getting started tutorial, the features, and the desktop app.
Install
pip install xtralab
jupyter lab
To run xtralab in any folder without installing it, use uv:
uvx --from xtralab jupyter-lab
The installation docs also show how to install xtralab as a uv tool or add it to a project.
The desktop app (DMG on macOS, AppImage on Linux) is on the releases page. It includes its own Python runtime. See the desktop app docs.
Highlights
Agent launcher
Start any coding agent installed on your machine, with an optional first prompt. The Changes list opens the diff of each changed file. Read more.
Git diffs
Review changes side by side, for text files and for notebooks, and edit the working copy in the diff. Read more.
Ask an agent
Select code, type an instruction, and send it to a new or running agent. The prompt includes the file path, the line range, and the selected code. Read more.
Omnibox
Search files and commands, or send a prompt to an agent, from one search box (Cmd/Ctrl+K). Read more.
Terminals panel
See the agent in each terminal and its latest line of output. Read more.
Connecting agents to JupyterLab (MCP)
xtralab runs a Model Context Protocol server inside JupyterLab,
provided by jupyter-server-mcp, so an agent can open files, run
cells, and read notebooks. Register the bundled proxy from a terminal inside
xtralab:
claude mcp add jupyter -- jupyter-server-mcp-proxy
The launcher shows this command for each installed agent. See the MCP docs for Codex, GitHub Copilot, and other agents.
Contributing
See CONTRIBUTING.md for the development setup, the
desktop app architecture, and the documentation sources in docs/.
License
BSD-3-Clause
Metadata
Release files for xtralab 0.15.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 | |
|---|---|---|---|
| xtralab-0.15.4.tar.gz | 2.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xtralab-0.15.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.8 MB
Release files / xtralab-0.15.4.tar.gz
| Download URL | xtralab-0.15.4.tar.gz |
|---|---|
| Size | 2.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d8e57aa559f6f72b4ec89867f734749d3dbdd0e04302818dc8498efeb4f46a0
|
|
BLAKE2b-256 checksum How to use checksums |
92e32c21b9a485289b4b4b4293a05626bdfac9b8001947d721f8de0f6e269b89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / xtralab-0.15.4-py3-none-any.whl
| Download URL | xtralab-0.15.4-py3-none-any.whl |
|---|---|
| Size | 2.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16ad1544910d4c7bd640462333fd3347281458a4c935e89a5f5e76b9c2057cd3
|
|
BLAKE2b-256 checksum How to use checksums |
6fda7db9ab2b5c90bfa5ea8622dfd331fdc8bccf831ef31fadb103cc733f0394
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|