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.