A lightweight library for converting complex datatypes into native Python datatypes.
Project description
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
# 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)
serialized.data
# {"name": "Guido van Rossum", "date_born": "Sun, 10 Nov 2013 14:24:50 -0000"}
Get It Now
$ pip install -U marshmallow
Documentation
Full documentation is available at http://marshmallow.rtfd.org/ .
Requirements
Python >= 2.7 or >= 3.3
License
MIT licensed. See the bundled LICENSE file for more details.
Changelog
0.2.0 (2013-11-11)
Field-level validation.
Add fields.Method.
Add fields.Function.
Allow binding of extra data to a serialized object by passing the extra param when initializing a Serializer.
Add relative paramater to fields.Url that allows for relative URLs.
0.1.0 (2013-11-10)
First release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for marshmallow-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 744ddd5a1b6615af35172cf130c51a2717757e65e03e863ad51310e3ba7f0c77 |
|
MD5 | d8255a5535842d77a95596d14f4a6f88 |
|
BLAKE2b-256 | e764dd00803f85520006b8ffd593a65b5fff108061a083137efd64889a1d4b4e |