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.LoggingConfigurableA 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 | Falseon 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.
