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 an HTTP 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.