The Toasted Marshmallow Enum package makes it possible to dump and load Enum values based on the ultra fast serialization that Toasted Marshmallow provides.
Project description
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'}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file toastedmarshmallow-enum-1.0.1.tar.gz
.
File metadata
- Download URL: toastedmarshmallow-enum-1.0.1.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4058a7f29e0a1210e5f52650b75858f77a01ec255d659793c0e52f57ddc9eb7 |
|
MD5 | afb8e1aa210bcdf377bcf1c6fbb3227f |
|
BLAKE2b-256 | b22359f407d89275e392b9ab3cb5c9c7ebf16312cd4f3eaa28f9f92bced10091 |