# Install nbdime with Homebrew, Nix

Jupyter Notebook Diff and Merge tools. Version 4.0.4 via Homebrew; verified 2026-07-25. Also installable with nix: nix profile install nixpkgs#nbmerge.

## Install

```sh
sudo av install brew:nbdime
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install nbdime
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#nbmerge
```

  Evidence: nixpkgs package indexes: pkgs/by-name/nb/nbmerge/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:nbdime
- **Package manager:** Homebrew
- **Version:** 4.0.4
- **Source summary:** Jupyter Notebook Diff and Merge tools
- **Homepage:** <https://nbdime.readthedocs.io>
- **Last updated:** 2026-07-25T10:26:14Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- git-nbdiffdriver (alias)
- git-nbdifftool (alias)
- git-nbmergedriver (alias)
- git-nbmergetool (alias)
- hg-nbdiff (alias)
- hg-nbdiffweb (alias)
- hg-nbmerge (alias)
- hg-nbmergeweb (alias)
- nbdiff (alias)
- nbdiff-web (alias)
- nbdime (alias)
- nbmerge (alias)
- nbmerge-web (alias)
- nbshow (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 4.0.4
## Project history and usage

nbdime is the Jupyter notebook diff and merge toolkit: terminal diffs, web-rendered diffs, three-way merges, Git and Mercurial integration commands, and notebook-aware conflict handling.

### Project history

The jupyter/nbdime repository was created on 2015-11-16. The problem it addresses is old and specific: .ipynb files are JSON documents, so line-based diff and merge tools are noisy and often misleading for code cells, markdown cells, metadata, execution counts, rich outputs, and embedded images.

The project became part of the Jupyter ecosystem discussion early. Jupyter Enhancement Proposal 8, 'Diffing and merging notebooks', says preliminary work resided in nbdime and frames the core use cases as version-control merge commands, diff commands, notebook change inspection, and automated regression testing.

### Adoption history

The package reached PyPI as 0.1.0 on 2016-12-16 and 1.0.0 on 2018-05-15. GitHub API data retrieved on 2026-07-01 showed 2,836 stars and 192 forks. PyPI Stats reported 317,876 downloads for the recent last-month window, and Homebrew Formulae reported 758 installs over the prior 365 days.

Its adoption comes from being the practical local answer to notebook version control. Jupyter users can keep notebooks in Git, but nbdime makes diffs human-readable and merges less hazardous by understanding notebook structure.

### How it is used

Users run nbdiff for terminal-friendly notebook comparisons, nbdiff-web for rendered browser diffs, nbmerge for three-way notebook merges, nbmerge-web for browser-assisted conflict resolution, and nbshow for terminal presentation of a notebook.

The Git integration is the package-nerd move: configure nbdime as the diff and merge driver so normal git diff and git merge behavior can route .ipynb files through notebook-aware tooling while leaving ordinary files alone.

### Why package nerds care

nbdime matters because it turns notebooks from opaque JSON blobs back into reviewable development artifacts. It does not replace Git or Jupyter; it patches the exact place where their defaults are weakest together.

### Timeline

- 2015-11-16: jupyter/nbdime repository created.
- 2016-07-15: 'Diffing and Merging Jupyter Notebooks with nbdime' presented at SciPy 2016.
- 2016-12-16: nbdime 0.1.0 uploaded to PyPI.
- 2018-05-15: nbdime 1.0.0 uploaded to PyPI.
- 2026-02-10: nbdime 4.0.4 published.

### Related projects

- Project Jupyter
- Jupyter Enhancement Proposal 8
- Git diff and merge drivers for notebook files

### Sources

- <https://api.github.com/repos/jupyter/nbdime>
- <https://formulae.brew.sh/api/formula/nbdime.json>
- <https://github.com/jupyter/nbdime>
- <https://jupyter.org/enhancement-proposals/08-notebook-diff/notebook-diff.html>
- <https://nbdime.readthedocs.io/>
- <https://pypi.org/pypi/nbdime/json>
- <https://pypistats.org/api/packages/nbdime/recent>
- <https://pyvideo.org/scipy-2016/diffing-and-merging-jupyter-notebooks-with-nbdime-scipy-2016-min-ragan-kelley.html>
- <https://raw.githubusercontent.com/jupyter/nbdime/master/README.md>


## Security Notes

No matching local secret-handling manifest was found for nbdime. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: nbdime_config.json in directories listed by `jupyter --paths`, ./nbdime_config.json
## Other Package-Manager Records

- Nix - nbmerge: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/nb/nbmerge/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/nbdime.yml](https://github.com/mxcl/pkgdb/blob/main/combined/nbdime.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
