The Toasted Marshmallow Enum package makes it possible to dump and load Enum values based on the ultra fast serialization that Toasted Marshmallow provides.
pip install toastedmarshmallow-enum==1.0.1
Inspired by Marshmallow Enum and by ORM libraries.
The Toasted Marshmallow Enum package makes it possible to dump and load Enum values based on the ultra fast serialization that Toasted Marshmallow provides.
pip install toastedmarshmallow-enum
Using Toasted Marshmallow Enum in an existing Marshmallow Schema
is as easy as defining the enum class attribute
as an EnumField
. For example:
from enum import Enum
import toastedmarshmallow
from marshmallow import fields, Schema
from toastedmarshmallow_enum import EnumField
class Level(Enum):
LOW = '0'
MEDIUM = '1'
HIGH = '2'
class UserSchema(Schema):
class Meta:
jit = toastedmarshmallow.Jit
name = fields.String()
level = EnumField(Level)
Dump methods:
class User:
def __init(name, level):
self.name = name
self.level = level
schema = DummyUserSchema()
user = User(name='John Doe', level=Level.HIGH)
print(schema.dump(user).data)
# {'name': 'John Doe', 'level': 2}
print(schema.load({'name': 'John Doe', 'level: 2}).data)
# {'name': 'John Doe', 'level': 'HIGH'}