Skip to content

A collection of tools to preprocess, modify, and otherwise clean up Jupyter Notebooks

License

Notifications You must be signed in to change notification settings

choldgraf/nbclean

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d44b803 · Aug 13, 2018

History

30 Commits
Aug 13, 2018
Jul 31, 2018
Jun 12, 2018
Aug 2, 2018
Feb 12, 2018
Feb 12, 2018
Mar 14, 2018
May 18, 2017
Aug 13, 2018
Aug 13, 2018
May 18, 2017
May 18, 2017
Feb 12, 2018

Repository files navigation

nbclean

Installation

You can install nbclean with pip:

pip install nbclean

Usage

You can use nbclean to "clean up" Jupyter notebooks, including:

  • Clear cell outputs, cell content, or components of cell outputs.
  • Replace text in cells with new text of your choosing.
  • Filter the above operations by the presence of cell tags.

The primary feature of nbclean is the NotebookCleaner class, which performs the above actions on a notebook according to tags that are in each cell's metadata.

# Clear different parts of the notebook cells based on tags
ntbk = nbc.NotebookCleaner(path_notebook)
ntbk.clear(kind='output', tag='hide_output')
ntbk.clear(kind='content', tag='hide_content')
ntbk.clear(kind=['stderr'], tag='hide_stderr')

# Removing entire cells
ntbk.remove_cells(tag='remove')
ntbk.remove_cells(tag='remove_if_empty', empty=True)
ntbk.remove_cells(search_text="# HIDDEN")

# Replacing text
text_replace_begin = '### SOLUTION BEGIN'
text_replace_end = '### SOLUTION END'
ntbk.replace_text(text_replace_begin, text_replace_end)

ntbk.save(path_notebook_cleaned)

Example

For an example, the following two notebooks show off nbclean's functionality:

Additionally, you can give it a try yourself by clicking the Binder button below:

Binder

Thanks

Thanks to jhamrick and the nbgrader project, which was the initial inspiration for this. You should check it out if you want a more fully-featured grading solution!

About

A collection of tools to preprocess, modify, and otherwise clean up Jupyter Notebooks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages