mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
33b7d52d31
* moving docs to mkdocs * transfering readme to md and more * fixing build * splitting usage.md * improving schema.md and index.md * fix make_history.rst * models intro * working on data conversation and required fields * more fixes to models.md * list all standard types supported * list of pydantic types * tweaks * update links in code * Apply suggestions from code review incorporate @dmontagu's suggestions. Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com> * Apply suggestions from code review more missed suggestions. Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com> * Apply suggestions from code review more corrects. * cleanup * Field order warning * fix and regenerate benchmarks * format examples better, cleanup * improve schema mapping table * correct highlighting file types in schema.md * add redirects in javascript * add logo
835 B
835 B
Pydantic works with mypy provided you use the "annotation only" version of required fields:
{!./examples/mypy.py!}
(This script is complete, it should run "as is")
You can also run it through mypy with:
mypy \
--ignore-missing-imports \
--follow-imports=skip \
--strict-optional \
pydantic_mypy_test.py
Strict Optional
For your code to pass with --strict-optional you need to to use Optional[] or an alias of Optional[]
for all fields with None default, this is standard with mypy.
Pydantic provides a few useful optional or union types:
NoneStraka.Optional[str]NoneBytesaka.Optional[bytes]StrBytesaka.Union[str, bytes]NoneStrBytesaka.Optional[StrBytes]
If these aren't sufficient you can of course define your own.