Jupyter Notebook files

Jupyter Notebook (previously, IPython Notebook) files are used for interactive computing in many fields. They contain a complete record of the user’s sessions and include:

  • Code.
  • Narrative text.
  • Equations.
  • Rich output.

When you add a Jupyter Notebook (with .ipynb extension) to your repository, it’s rendered into HTML when you view it:

Jupyter Notebook Rich Output

Interactive features, including JavaScript plots, don’t work when viewed in GitLab.

Cleaner diffs

Introduced in GitLab 14.5 with a flag named jupyter_clean_diffs. Disabled by default.

On self-managed GitLab, by default this feature is not available. To make it available, ask an administrator to enable the feature flag named jupyter_clean_diffs. On GitLab.com, this feature is available.

When commits include changes to Jupyter Notebook files, GitLab:

  • Transforms the machine-readable .ipynb file into a human-readable Markdown file.
  • Displays a cleaner version of the diff that includes syntax highlighting.

Code suggestions are not available on diffs and merge requests for .ipynb files.

Jupyter Notebook Clean Diff

Jupyter Git integration

Jupyter can be configured as an OAuth application with repository access, acting on behalf of the authenticated user. See the Runbooks documentation for an example configuration.