marshmallow é uma biblioteca ORM/ODM/independente de estrutura para converter tipos de dados complexos, como objetos, de e para tipos de dados nativos do 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'}
Resumindo, os esquemas marshmallow podem ser usados para:
$ pip instalar -U marshmallow
A documentação completa está disponível em https://marshmallow.readthedocs.io/ .
Uma lista de bibliotecas relacionadas ao marshmallow pode ser encontrada no wiki do GitHub aqui:
https://github.com/marshmallow-code/marshmallow/wiki/Ecosystem
Este projeto existe graças a todas as pessoas que contribuem.
Você é altamente encorajado a participar do desenvolvimento do marshmallow. Confira as Diretrizes de Contribuição para ver como você pode ajudar.
Obrigado a todos que já contribuíram com o marshmallow!
Se você achar o marshmallow útil, considere apoiar a equipe com uma doação. Sua doação ajuda a levar o marshmallow adiante.
Obrigado a todos os nossos apoiadores! [Torne-se um apoiador]
marshmallow é patrocinado pela Route4Me.
Apoie este projeto tornando-se um patrocinador (ou peça à sua empresa para apoiar este projeto tornando-se um patrocinador). Seu logotipo será exibido aqui com um link para seu site. [Torne-se um patrocinador]
Marshmallow com suporte profissional agora está disponível através da assinatura Tidelift.
O Tidelift oferece às equipes de desenvolvimento de software uma fonte única para compra e manutenção de seu software, com garantias de nível profissional dos especialistas que melhor o conhecem, ao mesmo tempo que se integra perfeitamente às ferramentas existentes. [Obtenha suporte profissional]
Licenciado pelo MIT. Consulte o arquivo LICENSE incluído para obter mais detalhes.