py-serializer 0.9.6

Last updated:

0 purchases

py-serializer 0.9.6 Image
py-serializer 0.9.6 Images
Add to Cart

Description:

pyserializer 0.9.6

Serializer
A serialization module for python objects

Quickstart

pip install py-serializer

from typing import List
from serializer import serializable

@serializable
class Role:
role_type: str
attributes: List[str]

@serializable
class Person:
name: str
age: int
height: float
weight: float
address: str
role: List[Role]


p = Person(
name="Paul", age=25, height=1.70, weight=83.5, address="earth",
role=[Role(role_type='human', attributes=['speak', 'eat', 'sleep'])]
)

print(p.to_dict())


{
'name': 'Paul',
'age': 25,
'height': 1.7,
'weight': 83.5,
'address': 'earth',
'role': [
{
'role_type': 'human',
'attributes': ['speak', 'eat', 'sleep']
}
]
}


Serializable wrapper extends dataclass so you can treat it like a normal dataclass.
Mixin
It is possible to have a class extend abstract class SerializableMixin
from serializer import SerializableMixin, serializer

class Test(SerializableMixin):

def __init__(self, name: str):
self.name = name

def __serialize__(self):
return dict(name=serializer(self.name))


>> Test(name='Paul').to_dict()


{ 'name': 'Paul' }

For object to be seriazable they only need to implement a __serialize__ method.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.