Package to convert arbitrary python objects into DTOs ready for serialization and validation.
Project description
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.
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 |
Close
Hashes for beerializer-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5a9bfff1952e6d410d62a92e2695997bd5136168edfa5b26a4a464d2e6c5ea9 |
|
MD5 | f3a43623e64151478583eae444dadd49 |
|
BLAKE2-256 | 8cb168fc16195863de5d86f47d4d6235905ca65dc87e28a4afe2ccf5e7cfce1f |