marshmallow: simplified object serialization for REST APIs

Release v0.5.4. (Changelog)

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): = name
        self.date_born =

# A serializer
class PersonSerializer(Serializer):
    name = fields.String()
    date_born = fields.DateTime()

person = Person("Guido van Rossum")
serialized = PersonSerializer(person)
# {"name": "Guido van Rossum", "date_born": "Sun, 10 Nov 2013 14:24:50 -0000"}

Get It Now

$ pip install -U marshmallow

Ready to get started? Go on to the Quickstart tutorial or check out some Examples.

Object serialization, lightweight and fluffy.

Useful Links

Stay Informed

Fork me on GitHub