Warning
This documentation is for an old version of IPython. You can find docs for newer versions here.
Module: nbformat.sign
¶
Utilities for signing notebooks
2 Classes¶

class
IPython.nbformat.sign.
NotebookNotary
(**kwargs)¶ Bases:
IPython.config.configurable.LoggingConfigurable
A class for computing and verifying notebook signatures.

check_cells
(nb)¶ Return whether all code cells are trusted
If there are no code cells, return True.
This function is the inverse of mark_cells.

check_signature
(nb)¶ Check a notebook’s stored signature
If a signature is stored in the notebook’s metadata, a new signature is computed and compared with the stored value.
Returns True if the signature is found and matches, False otherwise.
The following conditions must all be met for a notebook to be trusted:  a signature is stored in the form ‘scheme:hexdigest’  the stored scheme matches the requested scheme  the requested scheme is available from hashlib  the computed hash from notebook_signature matches the stored hash

compute_signature
(nb)¶ Compute a notebook’s signature
by hashing the entire contents of the notebook via HMAC digest.

cull_db
()¶ Cull oldest 25% of the trusted signatures when the size limit is reached

mark_cells
(nb, trusted)¶ Mark cells as trusted if the notebook’s signature can be verified
Sets
cell.metadata.trusted = True  False
on all code cells, depending on whether the stored signature can be verified.This function is the inverse of check_cells

sign
(nb)¶ Sign a notebook, indicating that its output is trusted on this machine
Stores hash algorithm and hmac digest in a local database of trusted notebooks.

unsign
(nb)¶ Ensure that a notebook is untrusted
by removing its signature from the trusted database, if present.


class
IPython.nbformat.sign.
TrustNotebookApp
(**kwargs)¶ Bases:
IPython.core.application.BaseIPythonApplication

generate_new_key
()¶ Generate a new notebook signature key

3 Functions¶

IPython.nbformat.sign.
yield_everything
(obj)¶ Yield every item in a container as bytes
Allows any JSONable object to be passed to an HMAC digester without having to serialize the whole thing.

IPython.nbformat.sign.
yield_code_cells
(nb)¶ Iterator that yields all cells in a notebook
nbformat version independent

IPython.nbformat.sign.
signature_removed
(nb)¶ Context manager for operating on a notebook with its signature removed
Used for excluding the previous signature when computing a notebook’s signature.