databrief
is a Python library for serializing dataclasses to bytes and deserializing bytes back to dataclasses.
- Compact serialization
- Supports
int
,float
, andbool
field types
pip install databrief
To serialize a dataclass instance to bytes, use the dump
function:
from databrief import dump
from dataclasses import dataclass
@dataclass
class TestData:
a: int
b: float
c: bool
data = TestData(a=42, b=3.14, c=True)
serialized = dump(data)
print(serialized)
To deserialize bytes back to a dataclass instance, use the load
function:
from databrief import load
deserialized = load(serialized, TestData)
print(deserialized)
Here is a complete example:
from dataclasses import dataclass
from databrief import dump, load
@dataclass
class Example:
a: int
b: float
c: bool
d: bool
e: bool
f: bool
g: bool
h: bool
i: bool
j: bool
k: bool
l: float
m: int
n: int
o: bool
example = Example(1, 2.0, True, False, True, False, True, False, True, True, False, 87543653.35197087, 1351346, -46583278, True)
serialized = dump(example)
deserialized = load(serialized, Example)
print(deserialized)
Contributions are welcome! Please read our Contributing Guide for more information.
Databrief is distributed under the MIT license.