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)
datclass
command
usage: datclass [-h] [-v] [-n NAME] [-r] [-o OUTPUT] [file]
positional arguments:
file input file - likes-json
options:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-n NAME, --name NAME main dat class name
-r, --recursive recursive generate dat class
-o OUTPUT, --output OUTPUT
output file - *.py
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.14.tar.gz
(7.5 kB
view hashes)
Built Distribution
Close
Hashes for datclass-0.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a01109d462e47fa7b7a241a3d95ec5deb945fdb305c794e0117c1b3f01307add |
|
MD5 | 70460e76a8327afa3e005afc4156830b |
|
BLAKE2b-256 | 51773d7d8ee6043b8aad4cba8e8533b3b969589b1cc9c4189372fbacf4cdccf4 |