NBDIFF(1)

πŸ“¦
version 4.0.4 Β· 2 versions
, in fedora 43, fedora 44

πŸ’– NBDIFF ✨

okay bestie, so nbdiff is a User Commands girlie and she lives in section 1 of the manual, and she is literally here to compute the difference between two Jupyter notebooks. no cap. πŸŽ€


🌸 NAME 🌸

nbdiff β€” compute the difference between two Jupyter notebooks πŸ¦‹


✨ DESCRIPTION ✨

here's the vibe, the whole usage line, copied exactly so you can screenshot it and send it to the group chat:

usage: nbdiff [-h] [--version] [--config]
       [--log-level {DEBUG,INFO,WARN,ERROR,CRITICAL}] [-s] [-o] [-a]
       [-m] [-i] [-d] [--color-words] [--no-color] [--no-git]
       [--no-use-diff] [--out OUT] [base] [remote] [paths ...]

and what does she do? compute the difference between two Jupyter notebooks. that's it. that's the whole job. iconic behavior honestly. πŸ‘‘


🌈 positional arguments 🌈

  • base β€” the base notebook filename OR base git-revision. yes she accepts both, she's flexible like that πŸ’…
  • remote β€” the remote modified notebook filename OR remote gitrevision. (the original literally writes it as "gitrevision", no hyphen, and I'm not about to fix what isn't mine to fix 🫢)
  • paths β€” filter diffs for git-revisions based on path πŸ”

πŸŽ€ options πŸŽ€

  • -h, --help β€” show this help message and exit. the classic. the moment you forget a flag, she's there. 🫢
  • --version β€” show program's version number and exit. one number, then she dips. ⭐
  • --config β€” list the valid config keys and their current effective values. perfect for when you're like "wait what is she even set to rn" πŸ™ˆ
  • --log-level {DEBUG,INFO,WARN,ERROR,CRITICAL} β€” set the log level by name. those are the exact five names, no improvising: DEBUG, INFO, WARN, ERROR, CRITICAL πŸ’€
  • --color-words β€” whether to pass the --color-words flag to any internal calls to git diff 🌈
  • --no-color β€” prevent use of ANSI color code escapes for text output. for when your terminal is doing too much πŸ’…
  • --no-git β€” prevent use of git for formatting diff/merge text output 🧚
  • --no-use-diff β€” prevent use of diff/diff3 for formatting diff/merge text output πŸ¦‹
  • --out OUT β€” if supplied, the diff is written to this file. Otherwise it is printed to the terminal. so like, file if you want it, terminal if you don't. your call bestie πŸ’–

πŸ”₯ ignorables πŸ”₯

set which parts of the notebook (not) to process. this is the choose your own adventure section β€” every one of these comes as a little matched pair, one to process it and one to ignore it, capital letter included. πŸ‘‘

  • -s, --sources, -S, --ignore-sources β€” process/ignore sources.
  • -o, --outputs, -O, --ignore-outputs β€” process/ignore outputs.
  • -a, --attachments, -A, --ignore-attachments β€” process/ignore attachments.
  • -m, --metadata, -M, --ignore-metadata β€” process/ignore metadata.
  • -i, --id, -I, --ignore-id β€” process/ignore identifiers.
  • -d, --details, -D, --ignore-details β€” process/ignore details not covered by other options. the catch-all girlie, the "everything else" of the notebook πŸ“

⚠️ real talk bestie: notice the flags are case-sensitive. lowercase -s means process sources, capital -S means ignore sources. same pattern for -o/-O, -a/-A, -m/-M, -i/-I, -d/-D. don't mix them up or you'll be sitting there like "why is my diff empty" 😭

and that's the whole page, fr fr. this little manual moment is from nbdiff 4.0.4, dated February 2026 β€” shoutout to the User Commands section for hosting her. go diff some notebooks, you're gonna slay πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from