Repolode
jupyterlab

jupyterlab/jupyterlab-git

A JupyterLab extension that adds a Git panel for staging, committing, branching, and syncing repositories from within notebooks.

Stars
1,613
Forks
412
Open issues
152
Last commit
3 days ago

What is it?

jupyterlab-git is a JupyterLab extension that brings Git version control into the JupyterLab interface. It adds a Git tab to the left panel where users can view changed files, stage and commit changes, browse history, manage branches, and push or pull from remote repositories without leaving the browser environment.

The extension is split into a frontend labextension and a backend. The standard install uses a Tornado/jupyter-server backend, while the core package can also run under jupyverse using a FastAPI-based plugin. It requires JupyterLab 4.x or later and a local Git installation, with older JupyterLab 2.x and 3.x versions maintained on separate branches.

Users can configure behavior through JupyterLab's settings editor, such as whether clicking a file opens a diff, whether commands block the UI while running, and how often the file system is polled for changes. Server-side options cover credential caching for HTTP(S) remotes, a Git command timeout, and post-init actions. SSH authentication is supported through the user's existing key setup.

Key features

  • 01Git panel in the JupyterLab left sidebar for viewing changes and history
  • 02Stage, commit, branch, push, and pull from the browser
  • 03Diff viewing for changed files with configurable click behavior
  • 04Credential caching for HTTP(S) remotes and support for SSH keys
  • 05Configurable settings for polling interval, history length, and concurrent command blocking

Use cases

  • Tracking changes to notebooks and scripts in a data science project without using a terminal
  • Committing and pushing analysis work to GitHub or GitLab directly from JupyterLab
  • Reviewing diffs of notebook or code files before committing
  • Teaching Git basics to students who work in JupyterLab

Quick start

  1. 1

    Install JupyterLab and the extension with pip

    pip install --upgrade jupyterlab jupyterlab-git
  2. 2

    Open the Git tab in the left panel of JupyterLab

Things to know

  • The extension does not handle credentials for SSH connections, so SSH authentication must be set up separately.
  • It requires JupyterLab 4.0 or later; older JupyterLab versions need the 2.x or 3.x branches.

Topics

FAQ

What is jupyterlab-git?
A JupyterLab extension that adds a Git panel for staging, committing, branching, and syncing repositories from within notebooks. jupyterlab-git is a JupyterLab extension that brings Git version control into the JupyterLab interface. It adds a Git tab to the left panel where users can view changed files, stage and commit changes, browse history, manage branches, and push or pull from remote repositories without leaving the browser environment.
Is jupyterlab-git free to use? What license does it have?
jupyterlab-git is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
Is jupyterlab-git still maintained?
Actively maintained. The last commit to jupyterlab-git was on Nov 4, 2026.
What can I use jupyterlab-git for?
Tracking changes to notebooks and scripts in a data science project without using a terminal Committing and pushing analysis work to GitHub or GitLab directly from JupyterLab Reviewing diffs of notebook or code files before committing Teaching Git basics to students who work in JupyterLab
How do I install jupyterlab-git?
Install JupyterLab and the extension with pip: pip install --upgrade jupyterlab jupyterlab-git Open the Git tab in the left panel of JupyterLab
Where can I get jupyterlab-git?
The source code and installation instructions are on GitHub: https://github.com/jupyterlab/jupyterlab-git

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects