marshmallow: simplified object serialization

Release v1.0.0-a. (Changelog)

marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from 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 Schema, fields, pprint

# A "model"
class Person(object):
    def __init__(self, name):
        self.name = name
        self.date_born = datetime.now()

# A serializer schema
class PersonSchema(Schema):
    name = fields.String()
    date_born = fields.DateTime()

person = Person("Guido van Rossum")
schema = PersonSchema()
result = schema.dump(person)
pprint(result.data)
# {"name": "Guido van Rossum", "date_born": "2014-08-17T14:42:12.479650+00:00"}

Get It Now

$ pip install -U marshmallow==1.0.0-a

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

Upgrading from a pre-1.0 version?

See the Upgrading to Newer Releases page for notes on getting your code up-to-date with the latest version.

Why another library?

See this document to learn about what makes marshmallow unique.

Object serialization and deserialization, lightweight and fluffy.

Useful Links

Stay Informed

Fork me on GitHub