marshmallow
1.0.0
marshmallow是一个与 ORM/ODM/框架无关的库,用于在复杂数据类型(例如对象)与本机 Python 数据类型之间进行转换。
from datetime import date
from pprint import pprint
from marshmallow import Schema , fields
class ArtistSchema ( Schema ):
name = fields . Str ()
class AlbumSchema ( Schema ):
title = fields . Str ()
release_date = fields . Date ()
artist = fields . Nested ( ArtistSchema ())
bowie = dict ( name = "David Bowie" )
album = dict ( artist = bowie , title = "Hunky Dory" , release_date = date ( 1971 , 12 , 17 ))
schema = AlbumSchema ()
result = schema . dump ( album )
pprint ( result , indent = 2 )
# { 'artist': {'name': 'David Bowie'},
# 'release_date': '1971-12-17',
# 'title': 'Hunky Dory'}
简而言之,棉花糖模式可用于:
$ pip install -U 棉花糖
完整文档可在 https://marshmallow.readthedocs.io/ 获取。
棉花糖相关库的列表可以在 GitHub wiki 中找到:
https://github.com/marshmallow-code/marshmallow/wiki/Ecosystem
这个项目的存在要感谢所有做出贡献的人。
我们强烈鼓励您参与 Marshmallow 的开发。查看贡献指南,了解如何提供帮助。
感谢所有已经为棉花糖做出贡献的人!
如果您发现棉花糖有用,请考虑捐款支持该团队。您的捐款有助于推动棉花糖向前发展。
感谢我们所有的支持者! [成为支持者]
棉花糖由 Route4Me 赞助。
通过成为赞助商来支持此项目(或要求您的公司通过成为赞助商来支持此项目)。您的徽标将显示在此处,并带有指向您网站的链接。 [成为赞助商]
现在可以通过 Tidelift 订阅获得专业支持的棉花糖。
Tidelift 为软件开发团队提供了购买和维护软件的单一来源,并由最了解软件的专家提供专业级保证,同时与现有工具无缝集成。 [获得专业支持]
麻省理工学院许可。有关更多详细信息,请参阅捆绑的许可证文件。