Skip to main content

An opinionated JupyterLab meta-package that bundles a curated set of extensions, ships a path-first file browser and a VS Code-style git changes panel, and applies a quieter default workspace configuration.

Project description

xtralab

An opinionated JupyterLab meta-package.

xtralab bundles a curated set of JupyterLab extensions, ships its own JupyterLab extension with a path-first file browser and a VS Code-style git changes panel, and applies a quieter default workspace configuration. The defaults are shipped under etc/jupyter/labconfig and the bundled labextension is shipped under share/jupyter/labextensions/xtralab.

The goal is to keep the package easy to inspect: most behavior comes from the upstream Jupyter packages, while xtralab defines the default environment we want out of the box.

Approach

The package brings together:

  • The ajlab meta-package (agent-ready JupyterLab — collaboration plumbing, MCP support, command tooling, and its own quieter defaults)
  • JupyterLab 4.6+
  • Git server integration (jupyterlab-git — backs the bundled changes panel)
  • Quick file opening (jupyterlab-quickopen)
  • Cursor styling helpers (jupyterlab-cursor-light, jupyterlab-cursor-theme)
  • Day and night themes (jupyterlab-day, jupyterlab-night)

These are installed as normal Python dependencies, so deployments can still override versions and Jupyter configuration in the usual ways.

Bundled labextension

xtralab ships its own prebuilt labextension that contributes:

  • A path-first file browser in the left sidebar, built on @pierre/trees.
  • A VS Code-style "Source Control" panel in the left sidebar, powered by the jupyterlab-git server REST API and @pierre/diffs. The bundled @jupyterlab/git frontend is disabled automatically so the two panels do not coexist.

Default settings

xtralab ships the following JupyterLab defaults:

  • The announcements plugin is disabled, so JupyterLab does not prompt to fetch news from the Jupyter news feed and does not check for application updates.
  • The Table of Contents, Debugger, and Notebook Tools panels are disabled so they do not show up in the right sidebar by default.

The JupyterLab frontend defaults are shipped as labconfig/*.d/00-xtralab.json fragments so downstream meta-packages can add their own Lab configuration fragments without replacing xtralab's files.

Install

pip install xtralab

Development

# Install dependencies and the package in editable mode
uv pip install -e ".[dev]"
jlpm
jlpm build

License

BSD-3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xtralab-0.1.1.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xtralab-0.1.1-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file xtralab-0.1.1.tar.gz.

File metadata

  • Download URL: xtralab-0.1.1.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for xtralab-0.1.1.tar.gz
Algorithm Hash digest
SHA256 be05db93de030d1f918526cb48b9762a114370da9c25697266f6560532275c3a
MD5 518d36ba85f7e1f1341d3ab0ebf1079f
BLAKE2b-256 feadc4aa1c751b889f8300ab4a841eba37bc12b8c8f2f006bc25033ec1667fc9

See more details on using hashes here.

File details

Details for the file xtralab-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: xtralab-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for xtralab-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 28c8faad7b36a5ff9f9e05d0ce50161f79b90c7083203cc7853de54ba0e91a2d
MD5 fef9f0201cc0a2e7ab117bba8981c6cb
BLAKE2b-256 3269c741907dd70a77b46cac318702d2145c1060025be8637a08f4121be9fd62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page