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.scraps
- Parameters
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.api.
read_notebook
(path)¶ Returns a Notebook object loaded from the location specified at path.
-
scrapbook.api.
read_notebooks
(path, path_filter=None)¶ Returns a Scrapbook including the notebooks read from the directory specified by path.
- Parameters
- Returns
scrapbook – A Scrapbook object.
- Return type
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
-
property
cells
¶
-
copy
()¶
-
property
metadata
¶
-
property
metrics
¶ dataframe of cell execution counts and times
- Type
pandas dataframe
-
property
nbformat
¶
-
property
nbformat_minor
¶
-
property
papermill_dataframe
¶ dataframe of notebook parameters and cell scraps
- Type
pandas dataframe
-
property
papermill_metrics
¶
-
property
papermill_record_dataframe
¶ dataframe of cell scraps
- Type
pandas dataframe
-
property
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.
-
property
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
-
property
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
-
property
-
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
-
property
data_dict
¶
-
property
data_scraps
¶
-
property
dataframe
¶ dataframe of cell scraps
- Type
pandas dataframe
-
property
display_dict
¶
-
property
display_scraps
¶
-
property
-
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)¶