flutter

Convert unstructured data into type-safe dataclasses.


License
ISC
Install
pip install flutter==0.1

Documentation

flutter.py

Example

from dataclasses import dataclass, field
from flutter import checked, check_type
from typing import List


@checked
@dataclass
class Node:
    line: int


@checked
@dataclass
class Parent(Node):
    children: List[Node] = field(default_factory=list)


assert check_type(Parent, {
    'line': 0,
    'children': [{'line': 1}]
}) == Parent(line=0, children=[Node(1)])

assert check_type(Parent, {
    'line': 10
}) == Parent(line=10, children=[])