mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
c81ec9aeec
* add support for annotation only fields, fix #34 * adding tests with mypy * adding docs for mypy usage * adding mypy failure test * adding alias tests * tweak mypy tests
26 lines
768 B
Python
26 lines
768 B
Python
from typing import Dict, List, Optional, Union, Set
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class Model(BaseModel):
|
|
simple_list: list = None
|
|
list_of_ints: List[int] = None
|
|
|
|
simple_dict: dict = None
|
|
dict_str_float: Dict[str, float] = None
|
|
|
|
simple_set: set = None
|
|
set_bytes: Set[bytes] = None
|
|
|
|
str_or_bytes: Union[str, bytes] = None
|
|
none_or_str: Optional[str] = None
|
|
|
|
compound: Dict[Union[str, bytes], List[Set[int]]] = None
|
|
|
|
print(Model(simple_list=['1', '2', '3']).simple_list) # > ['1', '2', '3']
|
|
print(Model(list_of_ints=['1', '2', '3']).list_of_ints) # > [1, 2, 3]
|
|
|
|
print(Model(simple_dict={'a': 1, b'b': 2}).simple_dict) # > {'a': 1, b'b': 2}
|
|
print(Model(dict_str_float={'a': 1, b'b': 2}).dict_str_float) # > {'a': 1.0, 'b': 2.0}
|