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 and raw diffs

Version history
On self-managed GitLab, by default semantic diffs are available. To hide the feature, ask an administrator to disable the feature flag named ipynb_semantic_diff. On GitLab.com, this feature is available.
On self-managed GitLab, by default the ability to switch between raw and rendered diffs is available. To hide the feature, ask an administrator to disable the feature flagnamed rendered_diffs_viewer. 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.
  • Enables switching between raw and rendered diffs on the Commit and Compare pages. (Not available on merge request pages.)

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

Jupyter Notebook Clean Diff

This feature is an Alpha release, and might lead to performance degradation. On self-managed GitLab, if unexpected issues arise, disable the feature.

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.