Skip to main content

Package for serializing python object & dataclasses

Project description


A serialization module for python objects

Test Upload Python Package PyPI version


pip install py-serializer

from typing import List
from serializer import serializable

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

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'])]

    '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.


It is possible to have a class extend abstract class SerializableMixin

from serializer import SerializableMixin, serializer

class Test(SerializableMixin):

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

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

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

{ 'name': 'Paul' }

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

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for py-serializer, version 0.9.6
Filename, size File type Python version Upload date Hashes
Filename, size py_serializer-0.9.6-py3-none-any.whl (6.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size py-serializer-0.9.6.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page