Homepage: http://marshmallow.rtfd.org/
marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, into native Python datatypes. The serialized objects can then be rendered to standard formats such as JSON for use in a REST API.
from datetime import datetime
from marshmallow import Serializer, fields, pprint
# A "model"
class Person(object):
def __init__(self, name):
self.name = name
self.date_born = datetime.now()
# A serializer
class PersonSerializer(Serializer):
name = fields.String()
date_born = fields.DateTime()
person = Person("Guido van Rossum")
serialized = PersonSerializer(person)
pprint(serialized.data)
# {"name": "Guido van Rossum", "date_born": "Sun, 10 Nov 2013 14:24:50 -0000"}
$ pip install -U marshmallow
Full documentation is available at http://marshmallow.rtfd.org/ .
- Python >= 2.6 or >= 3.3
marshmallow has no external dependencies outside of the Python standard library.
MIT licensed. See the bundled LICENSE file for more details.