* Add tests
* Fix the issue
* Add changes file
* Improved convert_generics
* Add default fallback to convert_generics
Improved Annotated and Literal handling
* Fix Cython doesn't support generic types (PEP560)
Watch cython issue cython/cython#2753
Previous implementation can be used after cython 3.0 release
* Add custom type test
* Cosmetic fixes
Co-authored-by: Samuel Colvin <samcolvin@gmail.com>
* Fix typos
* Add SelfReferencing test validation
Add parametrization to
* Fix: parametrization caused test discovery problem
* Better explanation for a test case
* Better assertions for model creation tests
* Rerun CI
Co-authored-by: Samuel Colvin <samcolvin@gmail.com>
* Allow collections.abc.Callable to be used as type in python 3.9
* Add is_none_type as function to check none types by identity
* Modify `typing.is_none_type` to work in python 3.6 and 3.7
* Add tests for none types in typing.py
* Apply review comments on #2519
* Add different implementations depending on python version
* Add tests for is_none_type
* Add change entry
* Fix field info repr
* Remove unneeded try/except for python < 3.8
* Add comment explaining alternative is_none_type implementation
* fix: typo
Co-authored-by: PrettyWood <em.jolibois@gmail.com>
* feat: add support for `NamedTuple` and `TypedDict` types
* support `total=False`
* tests: fix ci with python < 3.8 without typing-extensions
* chore: improve mypy
* chore: @samuelcolvin remarks
* refactor: move tests in dedicated file
* docs: add annotated types section with examples
* feat: support properly required and optional fields
* chore(deps-dev): bump typing_extensions
* docs: add a note for `typing_extensions`
* chore: update message to be more accurate
* feat: pass down config to created models
* feat: add util methods to create model from TypedDict or NamedTuple
* refactor: rename into typeddict and namedtuple
* test: add utils tests
* chore: fix lint
* chore: improve test
* refactor: rename utils to match the rest
* chore: update change
* docs: add section for create_model_from_{namedtuple,typeddict}
* refactor: rename typed_dict/named_tuple
* feat: support schema with TypedDict
* feat: support schema for NamedTuple
* feat: add json support for NamedTuple
* chore: rewording
* refactor: use parse_obj
* fix: add check for max items in tuple
* docs: separate typing.NamedTuple and collections.namedtuple