Skip to main content

Package to convert arbitrary python objects into DTOs ready for serialization and validation.

Project description

Documentation Status

A fork of awesome R2DTO by @nickswebsite.

Provides easy interface for transformation and validation of arbitrary python objects into DTOs suitable for receiving from and delivering to other services.

Quick Start

Let’s start by creating a simple model class:

class Simpson(object):
    def __init__(self):
        self.first_name = ""
        self.last_name = ""

    def __str__(self):
        return self.first_name + " " + self.last_name

To create a serializer, we need to map attributes to fields of our DTO:

class SimpsonSerializer(Serializer):
    class Meta:
        model = Simpson

    first_name = fields.StringField(name="firstName")
    last_name = fields.StringField(name="lastName")

When you get a payload that requires one of these serializers, call Serializer.load(data).

>>> data = {
...     "firstName": "Homer",
...     "lastName": "Simpson",
... }
>>> s = SimpsonSerializer.load(data)
>>> s
<class '__main__.Simpson'>
>>> str(s)
'Homer Simpson'

To go the other way. Pass the object you want to transfer into the dump method:

>>> homer = Simpson()
>>> homer.first_name = "Homer"
>>> homer.last_name = "Simpson"
>>> s = SimpsonSerializer.dump(homer)
>>> s
{'firstName': 'Homer', 'lastName': 'Simpson'}

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 beerializer, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size beerializer-0.1.3-py3-none-any.whl (7.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size beerializer-0.1.3.tar.gz (4.6 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 SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page