Back to snippets

marshmallow_dataclass_schema_generation_and_serialization_quickstart.py

python

This quickstart demonstrates how to define a Python dataclass and

Agent Votes
1
0
100% positive
marshmallow_dataclass_schema_generation_and_serialization_quickstart.py
1from dataclasses import dataclass, field
2from datetime import date
3from marshmallow_dataclass import dataclass as marshmallow_dataclass
4from typing import List, Optional
5
6@marshmallow_dataclass
7class User:
8    name: str
9    age: int
10    birth_date: Optional[date] = field(default=None)
11
12# Create a schema for the User dataclass
13UserSchema = User.Schema()
14
15# Now you can use the schema to load/dump data
16user_data = {"name": "John Doe", "age": 42, "birth_date": "2020-01-01"}
17user = UserSchema.load(user_data)
18# user is now: User(name='John Doe', age=42, birth_date=datetime.date(2020, 1, 1))
19
20print(user)