Marshmallow ist eine ORM/ODM/Framework-unabhängige Bibliothek zum Konvertieren komplexer Datentypen, wie z. B. Objekte, in und aus nativen Python-Datentypen.
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'}
Kurz gesagt, Marshmallow-Schemata können verwendet werden, um:
$ pip install -U Marshmallow
Die vollständige Dokumentation finden Sie unter https://marshmallow.readthedocs.io/.
Eine Liste der Marshmallow-bezogenen Bibliotheken finden Sie hier im GitHub-Wiki:
https://github.com/marshmallow-code/marshmallow/wiki/Ecosystem
Dieses Projekt existiert dank aller Menschen, die dazu beitragen.
Wir laden Sie herzlich ein, sich an der Entwicklung von Marshmallow zu beteiligen. Sehen Sie sich die Beitragsrichtlinien an, um zu erfahren, wie Sie helfen können.
Vielen Dank an alle, die bereits zu Marshmallow beigetragen haben!
Wenn Sie Marshmallow nützlich finden, denken Sie bitte darüber nach, das Team mit einer Spende zu unterstützen. Ihre Spende trägt dazu bei, dass Marshmallow vorankommt.
Vielen Dank an alle unsere Unterstützer! [Unterstützer werden]
Marshmallow wird von Route4Me gesponsert.
Unterstützen Sie dieses Projekt, indem Sie Sponsor werden (oder bitten Sie Ihr Unternehmen, dieses Projekt zu unterstützen, indem Sie Sponsor werden). Hier wird Ihr Logo mit einem Link zu Ihrer Website angezeigt. [Sponsor werden]
Professionell unterstützter Marshmallow ist jetzt über das Tidelift-Abonnement erhältlich.
Tidelift bietet Softwareentwicklungsteams eine einzige Quelle für den Kauf und die Wartung ihrer Software, mit professionellen Zusicherungen von Experten, die sich am besten auskennen, und ermöglicht gleichzeitig eine nahtlose Integration mit vorhandenen Tools. [Professionelle Unterstützung erhalten]
MIT-lizenziert. Weitere Einzelheiten finden Sie in der mitgelieferten LICENSE-Datei.