io_utils¶
Serialization and deserialization of attrs classes to and from dicts and json.
- parityos.utils.io_utils.name_class_tagger = <parityos_serialization.utils.class_tagger.NameClassTagger object>¶
Class tagger for registering classes with a serializer for deserialization.
- parityos.utils.io_utils.DETERMINISTIC_SERIALIZER = <parityos_serialization.serializer.DeterministicJsonSerializer object>¶
Serializer that is slower than
FAST_SERIALIZER, but always returns unique deterministic serialization data. This serializer must be used for communications with a remote APIs.
- parityos.utils.io_utils.FAST_SERIALIZER = <parityos_serialization.serializer.FastJsonSerializer object>¶
Serializer that is faster than
DETERMINISTIC_SERIALIZER, but returns non-deterministic, but equivalent serialization data.
- parityos.utils.io_utils.serialize_datetime(dt: datetime, _serializer: Serializer[TypedDataDict, NameClassTagger]) str¶
Serialize a datetime object to an ISO format string.
- parityos.utils.io_utils.deserialize_datetime(data, _cls: type[datetime], _serializer: Serializer[TypedDataDict, NameClassTagger]) datetime¶
Deserialize an ISO format string into a datetime object.
- parityos.utils.io_utils.serialize_complex(x: complex, _serializer: Serializer[TypedDataDict, NameClassTagger]) dict[str, float]¶
Serialize a complex number into a dictionary with real and imaginary parts.
- parityos.utils.io_utils.deserialize_complex(data: dict[str, float], _cls: type[complex], _serializer: Serializer[TypedDataDict, NameClassTagger]) complex¶
Deserialize a dictionary into a complex number.
- parityos.utils.io_utils.serialize_decimal(x: Decimal, _serializer: Serializer[TypedDataDict, NameClassTagger]) str¶
Serialize a Decimal into its engineering string representation.
- parityos.utils.io_utils.deserialize_decimal(data: str, _cls: type[Decimal], _serializer: Serializer[TypedDataDict, NameClassTagger]) Decimal¶
Deserialize an engineering string into a Decimal.
- parityos.utils.io_utils.json_dumps(obj: object, serializer: Serializer[TypedDataDict, NameClassTagger]) str¶
Convert
objto json string.
- parityos.utils.io_utils.json_dump(obj: object, filepath: str | Path, serializer: Serializer[TypedDataDict, NameClassTagger])¶
Save
objtofilepathas json.
- parityos.utils.io_utils.json_loads(json_str: str, serializer: Serializer[TypedDataDict, NameClassTagger]) Any¶
Construct an instance of a class from a json string representation.
- parityos.utils.io_utils.json_load(filepath: str | Path, serializer: Serializer[TypedDataDict, NameClassTagger]) Any¶
Construct an instance of a class from the json file at
filepath.
- parityos.utils.io_utils.register(cls: type[T]) type[T]¶
Class decorator to automatically register the decorated class and all its subclasses with
name_class_tagger.