Paul Gierz
02/05/2025, 3:07 PMPaul Gierz
02/05/2025, 3:46 PMclass ProvenanceSerializer(JSONSerializer):
"""Serializes Provenance objects into JSON"""
type: str = Field(default="provenance_json", frozen=True)
def dumps(self, obj) -> bytes:
breakpoint()
if str(obj.__class__).endswith("WithProvenance"):
obj = obj._to_prefect_json()
return super().dumps(obj)
def loads(self, blob):
breakpoint()
data = super().loads(blob)
if "provenance" in data:
value = data["value"]
provenance = data["provenane"]
return wrapper_with_provenance_factory(value, provenance)
else:
return data