* 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