python package dataclass utils
Project description
datclass
python package datclass
install
pip install -U datclass
pip install git+ssh://git@github.com/foyoux/datclass.git
pip install git+https://github.com/foyoux/datclass.git
basic usage
Example 1
from dataclasses import dataclass, field
from typing import Dict, List
from datclass import DatClass
@dataclass
class User(DatClass):
name: str = None
age: int = None
@dataclass
class Group(DatClass):
name: str = None
users: List[User] = field(default_factory=list) # allow nested
meta: Dict = field(default_factory=dict)
if __name__ == '__main__':
dat = {
'name': 'foyoux',
'users': [
{'name': 'foyou', 'age': 18},
{'name': 'hello', 'age': 8, 'sex': 'male'}, # allow extra field
],
'meta': {
'field1': 'value1',
'field2': 'value2',
'field3': 'value3',
},
}
group = Group(**dat)
print(group.name, group.meta)
for user in group.users:
print(user.name, user.age)
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
datclass-0.0.8.tar.gz
(6.3 kB
view hashes)