NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3284 most downloaded on PyPI
Strips outputs from Jupyter and IPython notebooks
Last release 7 months ago
21 Feb 2026
Release timing varies
gaps range from 2 weeks to 1.4 years
Nearly every release is documented
notes for 32 of 32 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
33 releases · first in 2016
Don't rewrite files when there is no change ( @s-weigand , #210 )
--unix-newline flag to force using LF linebreaks (@s-weigand, #209)Add GitHub Action checking that output is stripped ( @lagamura , #205 , #207 )
One column per quarter.
Preserve Windows CRLF file endings in output file
BrokenPipeError when flushing the output (@blaketastic2, #203)Full Changelog: 0.8.1...0.8.2
In dry run mode, only print output if there would have been a change ( #152 ).
Adds --verify flag, similar to --dry-run but returning 1 if any affected files would have changed ( @jspaezp , #153 , #195 ).
--verify flag, similar to --dry-run but returning 1 if anynbstripout retroactively using git-filter-repo tonbformat version specified.Fix regression where input file was truncated before reading ( #190 ).
Drop support for Python 3.7 (end of life 2023-06-27), require Python 3.8.
--keep-id (@JasonJooste, #184).--keep-id
(@JasonJooste, #184).Add --python option for nbstripout --install to allow overriding the Python interpreter specified in .git/config ( @nobodyinperson , #181 , #182 )
--python option for nbstripout --install to allow overriding the Python interpreter specified in .git/config (@nobodyinperson, #181, #182)--keep-metadata-keys to keep specific metadata keys that are stripped by default (@davidxia, #177, #78)SystemExit instead of sys.exit and do not exit from functions (@janosh, #173)Removed setup_requires and tests_require and no longer rely on pytest-runner for test execution but invoke pytest directly
setup_requires and tests_require and no longer rely on pytest-runner for test execution but invoke pytest directly (#168)Support for stripping init cells (@Pugio, #157)
--drop-tagged-cells="some tags" option (@boun, #161)--strip-empty-cells to --drop-empty-cellsSupport only stripping outputs larger than a given size (cjblocker@, #135)
Add support for system wide installation, --system flag (@PLPeeters, #149)
--system flag (@PLPeeters, #149)~ instead of $HOME for config dir (#136)Python 2.7 only release, to make pip install nbstripout work in Python 2.7 (previously, this was picking up 0.3.8 which is *not* Python 2.7 compatible
pip install nbstripout work in Python 2.7
(previously, this was picking up 0.3.8 which is not Python 2.7 compatible)--dry-run flag (#122)keep_output as a cell tag (#117, @scottcode)Document Python 3 support only. Fail to install on Python 2 (#128, @casperdcl)
--extra-keys flag to pass extra keys to strip (#119)Windows compatibility: "" quote Python interpreter path (#115, @fcollonval)
--dry-run flag (#122)keep_output as a cell tag (#117, @scottcode)--global commands work outside of git repository (#123)Notebook-level keep_output (#112, @jonashaag)
keep_output (#112, @jonashaag)git add in pre-commit hook (#106, @SimonBiggs)filter.nbstripout.{clean,smudge} on --uninstallfilter.nbstripout.required config settingDocument global installation in README
~ when looking up attributes file--global flag for --install / --uninstall to write the filter config to ~/.gitconfig (#98)Make nbstripout package executable and fix regression
Fix WindowsError not defined on POSIX systems
WindowsError not defined on POSIX systems (#90)WindowsError not defined on POSIX systems (#90).Distribute tests in source package (#73 #76, @jluttine)
diff.ipynb.textconv (#68 #82, @ibressler)sys.stdin is not None before reading from it (#68 #82, @ibressler)Gracefully deal with empty/malformed input #66
git filter-branch use case in README (#28, @belteshassar)-t (#67, @tnilanon)nbformat and setuptools >= 30 to setup_requires (#67, @tnilanon)travis_retry (#67, @tnilanon)Add option -t/--textconv to write to stdout e.g. for use as diff filter (#53, @utsekaj42)
-t/--textconv to write to stdout e.g. for use as diff filter (#53, @utsekaj42)--keep-count and --keep-output to no strip execution counts and output (#56, @jpeacock29)WindowsError when git is not found in PATH (#62, @bdforbes)Support whitespace in repository paths (#47, #48, @ehoepfner)
collapsed and scrolled metadata (#34)NO_CONVERT for IPython <3 import (#46)Strip ExecuteTime metadata (#34, #39, @jdriordan)
ExecuteTime metadata (#34, #39, @jdriordan)Drop support for Python 2.6, 3.2.
If you set either the "init_cell": true or "keep_output": true in the cell metadata, then these cells will not be stripped out. The former works in co
"init_cell": true or "keep_output": true in the cell metadata, then these cells will not be stripped out. The former works in conjunction with the init_cell nbextension (#17, @mforbes).--is-installed and --status options (#29)."init_cell": true or "keep_output": true in the
cell metadata, then these cells will not be stripped out. The former works in
conjunction with the init_cell nbextension (@mforbes, #17).--is-installed and --status options (#29).scroll and collapsed to False
(@kdmurray91, #30).Use pytest-cram (#22, @mforbes).
--attributes option to specify attributes file (#25).Python 3 compatibility (#16, #21, @boeddeker).
Add __version__ and version command (#12).
__version__ and version command (#12).Use UTF8 writer for stdout (#11) and regression test (@geggo).
* Add uninstall task (#8). * Minor testing fixes.
Call decode on git_dir (#5, @michaelaye).
git_dir (#5, @michaelaye).Only process .ipynb files unless -f flag is used (@mforbes).
Your coding agent can read these notes before it upgrades. Set up the MCP server →