Skip to main content

No project description provided

Project description

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

Home-page: https://github.com/Songbee/beerializer
Author: Songbee Team
Author-email: hi@songbee.net
License: UNKNOWN
Description: Beerializer
===========

|Documentation Status|

A fork of awesome `R2DTO <https://github.com/nickswebsite/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:

.. code:: python

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:

.. code:: python

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)``.

.. code:: pycon

>>> 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:

.. code:: pycon

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

.. |Documentation Status| image:: https://readthedocs.org/projects/beerializer/badge/?version=latest
:target: http://beerializer.readthedocs.io/en/latest/?badge=latest

Keywords: dto serializer serialize REST marshal JSON
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: Public Domain
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries
Classifier: Topic :: Software Development

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.2
Filename, size File type Python version Upload date Hashes
Filename, size beerializer-0.1.2-py3-none-any.whl (7.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size beerializer-0.1.2.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