# Install nbdime with Homebrew, Nix

Jupyter Notebook Diff and Merge tools. Version 4.0.4 via Homebrew; verified 2026-06-22.

## 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
- **Package manager page:** <https://formulae.brew.sh/formula/nbdime>
- **Version:** 4.0.4
- **Source summary:** Jupyter Notebook Diff and Merge tools
- **Homepage:** <https://nbdime.readthedocs.io>
- **Repository:** <https://github.com/jupyter/nbdime>
- **Upstream docs:** <https://nbdime.readthedocs.io/en/latest>
- **License:** BSD-3-Clause
- **Source archive:** <https://files.pythonhosted.org/packages/0c/22/d1ae77115b96b2ff8df6bbc54f8651eeb02d5716cea9079cdf94eaf6bb8b/nbdime-4.0.4.tar.gz>
- **Last updated:** 2026-06-22T14:05:35-07:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- git-nbdiffdriver (cli)
- git-nbdifftool (cli)
- git-nbmergedriver (cli)
- git-nbmergetool (cli)
- hg-nbdiff (cli)
- hg-nbdiffweb (cli)
- hg-nbmerge (cli)
- hg-nbmergeweb (cli)
- nbdiff (cli)
- nbdiff-web (cli)
- nbdime (cli)
- nbmerge (cli)
- nbmerge-web (cli)
- nbshow (cli)
- 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)

## Dependencies

- certifi
- jupyterlab
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.0.4
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://nbdime.readthedocs.io
- info: Release/tag comparison is only available for GitHub repositories.
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** nbdime
- **Version Scheme:** 0
- **Revision:** 3
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## 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


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [jupyterlab](https://www.automicvault.com/pkg/brew/jupyterlab/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [tkdiff](https://www.automicvault.com/pkg/brew/tkdiff/) - Shares av.db curated category or tags: cli, developer-tools, diff, merge.
- [colordiff](https://www.automicvault.com/pkg/brew/colordiff/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diff-so-fancy](https://www.automicvault.com/pkg/brew/diff-so-fancy/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffnav](https://www.automicvault.com/pkg/brew/diffnav/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffoci](https://www.automicvault.com/pkg/brew/diffoci/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffoscope](https://www.automicvault.com/pkg/brew/diffoscope/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffr](https://www.automicvault.com/pkg/brew/diffr/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffstat](https://www.automicvault.com/pkg/brew/diffstat/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [jupytext](https://www.automicvault.com/pkg/brew/jupytext/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, jupyter, notebook.
- [git-imerge](https://www.automicvault.com/pkg/brew/git-imerge/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, git, merge.
- [dvc](https://www.automicvault.com/pkg/brew/dvc/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, developer, developer-tools, git.

## Combined YAML source

View the package source record on GitHub. [combined/nbdime.yml](https://github.com/automic-vault/db/blob/main/combined/nbdime.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
