Skip to content

Serialization API (core.serialization)

SerializableMeta

A metaclass that is used to register classes in SERIALIZABLE_REGISTRY so they can be found later while deserializing transformation pipeline using classes full names.

__new__(cls, name, bases, class_dict) special staticmethod

Create and return a new object. See help(type) for accurate signature.

from_dict(transform_dict, lambda_transforms=None)

Parameters:

Name Type Description Default
transform dict

A dictionary with serialized transform pipeline.

required
lambda_transforms dict

A dictionary that contains lambda transforms, that is instances of the Lambda class. This dictionary is required when you are restoring a pipeline that contains lambda transforms. Keys in that dictionary should be named same as name arguments in respective lambda transforms from a serialized pipeline.

None

load(filepath, data_format='json', lambda_transforms=None)

Load a serialized pipeline from a json or yaml file and construct a transform pipeline.

Parameters:

Name Type Description Default
transform obj

Transform to serialize.

required
filepath str

Filepath to read from.

required
data_format str

Serialization format. Should be either json or 'yaml'.

'json'
lambda_transforms dict

A dictionary that contains lambda transforms, that is instances of the Lambda class. This dictionary is required when you are restoring a pipeline that contains lambda transforms. Keys in that dictionary should be named same as name arguments in respective lambda transforms from a serialized pipeline.

None

save(transform, filepath, data_format='json', on_not_implemented_error='raise')

Take a transform pipeline, serialize it and save a serialized version to a file using either json or yaml format.

Parameters:

Name Type Description Default
transform obj

Transform to serialize.

required
filepath str

Filepath to write to.

required
data_format str

Serialization format. Should be either json or 'yaml'.

'json'
on_not_implemented_error str

Parameter that describes what to do if a transform doesn't implement the to_dict method. If 'raise' then NotImplementedError is raised, if warn then the exception will be ignored and no transform arguments will be saved.

'raise'

to_dict(transform, on_not_implemented_error='raise')

Take a transform pipeline and convert it to a serializable representation that uses only standard python data types: dictionaries, lists, strings, integers, and floats.

Parameters:

Name Type Description Default
transform object

A transform that should be serialized. If the transform doesn't implement the to_dict method and on_not_implemented_error equals to 'raise' then NotImplementedError is raised. If on_not_implemented_error equals to 'warn' then NotImplementedError will be ignored but no transform parameters will be serialized.

required