register_deserialization#
- pymc_marketing.deserialize.register_deserialization(is_type, deserialize)[source]#
Register an arbitrary deserialization.
Use the
deserialize()
function to then deserialize data using all registered deserialize functions.Classes from PyMC-Marketing have their deserialization mappings registered automatically. However, custom classes will need to be registered manually using this function before they can be deserialized.
- Parameters:
Examples
Register a custom class deserialization:
from pymc_marketing.deserialize import register_deserialization class MyClass: def __init__(self, value: int): self.value = value def to_dict(self) -> dict: # Example of what the to_dict method might look like. return {"value": self.value} register_deserialization( is_type=lambda data: data.keys() == {"value"} and isinstance(data["value"], int), deserialize=lambda data: MyClass(value=data["value"]), )
Use that custom class deserialization:
from pymc_marketing.deserialize import deserialize data = {"value": 42} obj = deserialize(data) assert isinstance(obj, MyClass)