ds_common_serde_py_lib._serializable_serialize

File: _serializable_serialize.py Region: ds_common_serde_py_lib

Description

Defines internal serialization helpers for Serializable.serialize(), including recursive conversion of dataclasses and common JSON-compatible types.

Example

from dataclasses import dataclass

from ds_common_serde_py_lib import Serializable

@dataclass
class Child(Serializable):
    count: int


assert Child(count=3).serialize() == {"count": 3}

Attributes

logger

Functions

_serialize_dataclass(→ dict[str, Any])

Serialize a dataclass instance to a dict, respecting serialize/mask metadata.

_serialize_value(→ Any)

Recursively serialize common Python types and dataclasses.

Module Contents

ds_common_serde_py_lib._serializable_serialize.logger
ds_common_serde_py_lib._serializable_serialize._serialize_dataclass(value: Any) dict[str, Any][source]

Serialize a dataclass instance to a dict, respecting serialize/mask metadata.

Parameters:

value – The dataclass instance to serialize.

Returns:

The serialized dataclass.

ds_common_serde_py_lib._serializable_serialize._serialize_value(value: Any) Any[source]

Recursively serialize common Python types and dataclasses.

Returns a structure comprised of dicts, lists, and primitives that can be JSON-encoded without custom hooks.

Parameters:

value – The value to serialize.

Returns:

The serialized value.