- Adds
--verify
flag, similar to--dry-run
but returning 1 if any affected files would have changed (@jspaezp, #153, #195). - Adds script to apply
nbstripout
retroactively usinggit-filter-repo
to README (@LunarLanding @tokleine, #194 #197). - Documents nbstripout on all files in the current directory and subdirectories recursively (#127).
- Accepts notebooks without
nbformat
version specified. - Improves test coverage.
- Fix regression where input file was truncated before reading (#190).
- This release has been yanked from PyPI due to a major regression (#190).
- Drop support for Python 3.7 (end of life 2023-06-27), require Python 3.8.
- Add support for Python 3.12.
- Drop backwards compability with IPython.nbformat for IPython <4.
- Rename cell ids to be sequential by default. Disable by passing
--keep-id
(@JasonJooste, #184). - Improve documentation for notebook and cell metadata stripping (#187).
- Switch from pytest-flake8 to pytest-ruff.
- Convert all text assets from rST to Markdown format.
- Add
--python
option fornbstripout --install
to allow overriding the Python interpreter specified in.git/config
(@nobodyinperson, #181 #182). - Add option
--keep-metadata-keys
to keep specific metadata keys that are stripped by default (@davidxia, #78 #177). - Replace Cram as test runner for integration tests with a custom framework which also supports testing on Windows (@arobrien, #176 #178).
- Use
SystemExit
instead ofsys.exit
and do not exit from functions (@janosh, #173).
- Removed
setup_requires
andtests_require
and no longer rely onpytest-runner
for test execution but invokepytest
directly (#168).
- Support for stripping init cells (@Pugio, #157).
- Added
--drop-tagged-cells="some tags"
option (@boun, #161). - Renamed
--strip-empty-cells
to--drop-empty-cells
. - Dropped support for Python 3.5, added support for Python 3.10.
- Support only stripping outputs larger than a given size (@cjblocker, #135).
- Support stripping output from Zeppelin Notebooks (@ankitrokdeonsns, #130).
- Switch CI to GitHub actions (#151).
- Support attributes file without leading path component (#155).
- Add support for system wide installation,
--system
flag (@PLPeeters, #149). - Use
~
instead of$HOME
for config dir (#136). - Document stripping kernelspec (#141).
- Add support for removing empty cells (#131).
- Create directory for attributes file if needed (#139).
- Add support for stripping metadata keys containing periods (@baldwint, #143).
- Strip collapsible headings by default (@rpytel1, #142).
- 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. - Drop Python 3.4 support, add support for Python 3.7, 3.8.
- Windows compatibility:
""
quote Python interpreter path (@fcollonval, #115). - Add
--dry-run
flag (#122). - Support specifying
keep_output
as a cell tag (@scottcode, #117).
- Document Python 3 support only. Fail to install on Python 2 (@casperdcl, #128)
- Drop support for Python 3.4 (end of life 2019-03-18).
- Ignore warnings from
nbformat.{read,write}
. - Support nbformat 2 notebooks without cell metadata.
- Add
--extra-keys
flag to pass extra keys to strip (#119). - Apply pre-commit hook to files of type Jupyter.
- Drop Python 2 support.
- Windows compatibility:
""
quote Python interpreter path (@fcollonval, #115). - Add
--dry-run
flag (#122). - Support specifying
keep_output
as a cell tag (@scottcode, #117). - Improved error handling for the case where git is not installed (#124).
- Nicer error message when input file is not found.
- Use universal newlines without conversion (@ooiM, #110, #126).
- Strip execution timing from cell metadata (#118).
- Document which metadata is stripped by default.
- Make
--global
commands work outside of git repository (#123).
- Notebook-level
keep_output
(@jonashaag, #112). - Fix quoting of Python path and call module entrypoint (@jonashaag, #111).
- Do not run
git add
in pre-commit hook (@SimonBiggs, #106). - Troubleshooting instructions (#65).
- Exclusion instructions for folders (@jraviotta, #104).
- Only remove
filter.nbstripout.{clean,smudge}
on--uninstall
. - Remove unnecessary
filter.nbstripout.required
config setting. - pre-commit configuration (@Ohjeah, #79).
- Document global installation in README (#100).
- Document how to exclude folders in README (#99).
- Expand
~
when looking up attributes file. - Add
--global
flag for--install
/--uninstall
to write the filter config to~/.gitconfig
(#98).
- Make nbstripout package executable and fix regression (#94).
- Add package docstring.
- Fix
WindowsError
not defined on POSIX systems (#90). - Add support for blacklisting custom metadata fields (@casperdcl, #92).
- Distribute tests in source package (@jluttine, #73 #76).
- Fix git diff tests for newer Git versions (@jluttine, #74 #76).
- Install full path for diff.ipynb.textconv (@ibressler, #68 #82).
- Make sure sys.stdin is not None before reading from it (@ibressler, #68 #82).
- Gracefully deal with empty/malformed input (#66).
- Add Code of Conduct (#63).
- Add MANIFEST.in (#64).
- Document
git filter-branch
use case in README (@belteshassar, #28). - Flush output when using
-t
(@tnilanon, #67). - Add
nbformat
andsetuptools >= 30
tosetup_requires
(@tnilanon, #67). - Use
travis_retry
(@tnilanon, #67). - Drop support for Python 3.3 (no longer supported by setuptools).
- Add option
-t
/--textconv
to write to stdout e.g. for use as diff filter (@utsekaj42, #53). - Flush output stream after write (@reidpr, #55).
- Add options
--keep-count
and--keep-output
to no strip execution counts and output (@jpeacock29, #56). - Fix shell pipeline documentation (@psthomas, #59).
- Catch
WindowsError
whengit
is not found in PATH (@bdforbes, #62).
- Support whitespace in repository paths (@ehoepfner, #47 #48).
- Also ignore
collapsed
andscrolled
metadata (#34). - Define
NO_CONVERT
for IPython <3 import (#46).
- Strip
ExecuteTime
metadata (@jdriordan, #34 #39). - Fix Python 3.5 bug: open attributes file only once (#40).
- Do not add blank line at beginning of attribute file.
- Strip widget state from notebook metadata (#42).
- Drop support for Python 2.6, 3.2.
- Add pip install instructions to README (@oogali, #32).
- Write trailing newline to attributes file (#36).
- Uninstall only removes ipynb filter (#37).
- 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 conjunction with theinit_cell
nbextension (@mforbes, #17). - Fix encoding for Python 2 + 3 (#11).
- Add
--is-installed
and--status
options (#29). - Normalise cell output style, setting
scroll
andcollapsed
to False (@kdmurray91, #30). - Add screencast (#31).
- Use pytest-cram (@mforbes, #22).
- Add further shields to README.
- Use argparse for argument parsing.
- Add
--attributes
option to specify attributes file (#25).
- Python 3 compatibility (@boeddeker, #16 #21).
- Windows compatibility (@tt293, #18).
- Add support for appveyor (#24).
- Add
__version__
andversion
command (#12). - Add bumpversion config.
- Add contributing guidelines (#13).
- Use UTF8 writer for stdout and regression test (@geggo, #11).
- Minor testing fixes.
- Add uninstall task (#8).
- Minor testing fixes.
- Add Travis CI setup (#4).
- Call decode on
git_dir
(@michaelaye, #5). - Add unit tests via Cram (@mforbes).
- Only process .ipynb files unless -f flag is used (@mforbes).
- Process multiple files (@mforbes).
- Add MIT License (@mforbes).
- Based on Min RK's original gist but supports multiple versions of IPython/Jupyter and also strips the execution count.
- Add install option that fails sensibly if not in a git repository, does not clobber an existing attributes file and checks for an existing ipynb filter.
- Works with both files and stdin / stdout.
- Add README and documentation.
- Add setup.py with script entry point.