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.
Installing toastedmarshmallow-enum
pip install toastedmarshmallow-enum
Using Toasted Marshmallow 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)
How it works
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'}
Release files for toastedmarshmallow-enum 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toastedmarshmallow-enum-1.0.1.tar.gz | 2.8 kB | Details |
Release files / toastedmarshmallow-enum-1.0.1.tar.gz
| Download URL | toastedmarshmallow-enum-1.0.1.tar.gz |
|---|---|
| Size | 2.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4058a7f29e0a1210e5f52650b75858f77a01ec255d659793c0e52f57ddc9eb7
|
|
BLAKE2b-256 checksum How to use checksums |
b22359f407d89275e392b9ab3cb5c9c7ebf16312cd4f3eaa28f9f92bced10091
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |