scrapbook package¶
Subpackages¶
Submodules¶
scrapbook.api module¶
api.py
Provides the base API calls for scrapbook
-
scrapbook.api.
glue
(name, data, encoder=None, display=None)¶ Records a data value in the given notebook cell.
The recorded data value can be retrieved during later inspection of the output notebook.
The data type of the scraps is implied by the value type of any of the registered data encoders, but can be overwritten by setting the encoder argument to a particular encoder’s registered name (e.g. “json”).
This data is persisted by generating a display output with a special media type identifying the content storage encoder and data. These outputs are not visible in notebook rendering but still exist in the document. Scrapbook then can rehydrate the data associated with the notebook in the future by reading these cell outputs.
Example
sb.glue(“hello”, “world”) sb.glue(“number”, 123) sb.glue(“some_list”, [1, 3, 5]) sb.glue(“some_dict”, {“a”: 1, “b”: 2}) sb.glue(“non_json”, df, ‘arrow’)
The scrapbook library can be used later to recover scraps (recorded values) from the output notebook
nb = sb.read_notebook(‘notebook.ipynb’) nb.scrapsParameters: - name (str) – Name of the value to record.
- data (any) – The value to record. This must be an object for which an encoder’s encodable method returns True.
- encoder (str (optional)) – The name of the handler to use in persisting data in the notebook.
- display (any (optional)) – An indicator for persisting controlling displays for the named record.
scrapbook.encoders module¶
encoders.py
Provides the encoders for various data types to be persistable
-
class
scrapbook.encoders.
DataEncoderRegistry
¶ Bases:
collections.abc.MutableMapping
-
decode
(scrap, **kwargs)¶ Finds the register for the given encoder and translates the scrap’s data from a string or JSON type to an object of the encoder output type.
Parameters: scrap (Scrap) – A partially filled in scrap with data that needs decoding
-
deregister
(encoder)¶ Removes a particular encoder from the registry
Parameters: name (str) – Name of the mime subtype parsed by the encoder.
-
determine_encoder_name
(data)¶ Determines the
-
encode
(scrap, **kwargs)¶ Finds the register for the given encoder and translates the scrap’s data from an object of the encoder type to a JSON typed object.
Parameters: scrap (Scrap) – A partially filled in scrap with data that needs encoding
-
register
(encoder)¶ Registers a new name to a particular encoder
Parameters: - name (str) – Name of the mime subtype parsed by the encoder.
- encoder (obj) – The object which implements the required encoding functions.
-
reset
()¶ Resets the registry to have no encoders.
-
-
class
scrapbook.encoders.
DisplayEncoder
¶ Bases:
object
-
ENCODER_NAME
= 'display'¶
-
decode
(scrap, **kwargs)¶
-
encodable
(data)¶
-
encode
(scrap, **kwargs)¶
-
name
()¶
-
-
class
scrapbook.encoders.
JsonEncoder
¶ Bases:
object
-
ENCODER_NAME
= 'json'¶
-
decode
(scrap, **kwargs)¶
-
encodable
(data)¶
-
encode
(scrap, **kwargs)¶
-
name
()¶
-
scrapbook.exceptions module¶
-
exception
scrapbook.exceptions.
ScrapbookDataException
(message, data_errors=None)¶ Bases:
scrapbook.exceptions.ScrapbookException
Raised when a data translation exception is encountered
-
exception
scrapbook.exceptions.
ScrapbookException
¶ Bases:
ValueError
Raised when an exception is encountered when operating on a notebook.
-
exception
scrapbook.exceptions.
ScrapbookInvalidEncoder
¶ Bases:
scrapbook.exceptions.ScrapbookException
Raised when no encoder is found to tranforming data
-
exception
scrapbook.exceptions.
ScrapbookMissingEncoder
¶ Bases:
scrapbook.exceptions.ScrapbookException
Raised when no encoder is found to tranforming data
scrapbook.log module¶
scrapbook.models module¶
models.py
Provides the various model wrapper objects for scrapbook
-
class
scrapbook.models.
Notebook
(node_or_path)¶ Bases:
object
Representation of a notebook. This model is quasi-compatible with the nbformat NotebookNode object in that it support access to the v4 required fields from nbformat’s json schema. For complete access to normal nbformat operations, use the node attribute of this model.
Parameters: node_or_path (nbformat.NotebookNode, str) – a notebook object, or a path to a notebook object -
cells
¶
-
copy
()¶
-
metadata
¶
-
metrics
¶ dataframe of cell execution counts and times
Type: pandas dataframe
-
nbformat
¶
-
nbformat_minor
¶
-
papermill_dataframe
¶ dataframe of notebook parameters and cell scraps
Type: pandas dataframe
-
papermill_metrics
¶
-
papermill_record_dataframe
¶ dataframe of cell scraps
Type: pandas dataframe
-
parameter_dataframe
¶ dataframe of notebook parameters
Type: pandas dataframe
-
reglue
(name, new_name=None, raise_on_missing=True, unattached=False)¶ Display output from a named source of the notebook.
Parameters:
-
scrap_dataframe
¶ dataframe of cell scraps
Type: pandas dataframe
-
-
class
scrapbook.models.
Scrapbook
¶ Bases:
collections.abc.MutableMapping
A collection of notebooks represented as a dictionary of notebooks
-
papermill_metrics
¶
-
scraps_report
(scrap_names=None, notebook_names=None, include_data=False, headers=True)¶ Display scraps as markdown structed outputs.
Parameters: - scrap_names (str or iterable[str] (optional)) – the scraps to display as reported outputs
- notebook_names (str or iterable[str] (optional)) – notebook names to use in filtering on scraps to report
- include_data (bool (default: False)) – indicator that data-only scraps should be reported
- header (bool (default: True)) – indicator for if the scraps should render with a header
-
-
scrapbook.models.
merge_dicts
(dicts)¶
scrapbook.schemas module¶
schemas.py
Provides the json schema for various versions of scrapbook payloads
-
scrapbook.schemas.
scrap_schema
(version=1)¶
scrapbook.scraps module¶
scraps.py
Provides the Scrap and Scraps abstractions for housing data
-
class
scrapbook.scraps.
Scrap
(name, data, encoder, display)¶ Bases:
tuple
-
data
¶ Alias for field number 1
-
display
¶ Alias for field number 3
-
encoder
¶ Alias for field number 2
-
name
¶ Alias for field number 0
-
-
class
scrapbook.scraps.
Scraps
(*args, **kwargs)¶ Bases:
collections.OrderedDict
-
data_dict
¶
-
data_scraps
¶
-
dataframe
¶ dataframe of cell scraps
Type: pandas dataframe
-
display_dict
¶
-
display_scraps
¶
-
-
scrapbook.scraps.
payload_to_scrap
(payload)¶ Translates data output format to a scrap
-
scrapbook.scraps.
scrap_to_payload
(scrap)¶ Translates scrap data to the output format
scrapbook.utils module¶
utils.py
Provides the utilities for scrapbook functions and operations.
-
scrapbook.utils.
deprecated
(version, replacement=None)¶ Warns the user that something is deprecated. Removal planned in version release.
-
scrapbook.utils.
is_kernel
()¶ Returns True if execution context is inside a kernel
-
scrapbook.utils.
kernel_required
(f)¶