mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
e7227db41a
* starting insert prints * working exec_script * remove prints, fix exec_examples.py * more cleanup of examples, better model printing * upgrade netlify runtime * extra docs deps * few more small tweaks
838 B
838 B
Pydantic works with mypy provided you use the annotation-only version of required fields:
{!.tmp_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 as the 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.