Skip to content

Latest commit

 

History

History
66 lines (42 loc) · 1.8 KB

README.rst

File metadata and controls

66 lines (42 loc) · 1.8 KB

marshmallow: simplified object serialization

Latest version Travis-CI

Homepage: http://marshmallow.rtfd.org/

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

Documentation

Full documentation is available at http://marshmallow.rtfd.org/ .

Requirements

  • Python >= 2.6 or >= 3.3

marshmallow has no external dependencies outside of the Python standard library, although python-dateutil is recommended for robust datetime deserialization.

License

MIT licensed. See the bundled LICENSE file for more details.