# Module: `nbformat.v4.rwbase`

Base classes and utilities for readers and writers.

## 2 Classes

class `IPython.nbformat.v4.rwbase.``NotebookReader`

  Bases: `object`

  A class for reading notebooks.

  `read`(fp, **kwargs)

    Read a notebook from a file like object

  `reads`(s, **kwargs)

    Read a notebook from a string.

class `IPython.nbformat.v4.rwbase.``NotebookWriter`

  Bases: `object`

  A class for writing notebooks.

  `write`(nb, fp, **kwargs)

    Write a notebook to a file like object

  `writes`(nb, **kwargs)

    Write a notebook to a string.

## 3 Functions

`IPython.nbformat.v4.rwbase.``rejoin_lines`(nb)

  rejoin multiline text into strings

  For reversing effects of `split_lines(nb)`.

  This only rejoins lines that have been split, so if text objects were not split they will pass through unchanged.

  Used when reading JSON files that may have been passed through split_lines.

`IPython.nbformat.v4.rwbase.``split_lines`(nb)

  split likely multiline text into lists of strings

  For file output more friendly to line-based VCS. `rejoin_lines(nb)` will reverse the effects of `split_lines(nb)`.

  Used when writing JSON files.

`IPython.nbformat.v4.rwbase.``strip_transient`(nb)

  Strip transient values that shouldn’t be stored in files.

  This should be called in both read and write.