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
30 lines
835 B
Markdown
30 lines
835 B
Markdown
Pydantic works with [mypy](http://mypy-lang.org/) provided you use the "annotation only" version of
|
|
required fields:
|
|
|
|
```py
|
|
{!./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:
|
|
|
|
* `NoneStr` aka. `Optional[str]`
|
|
* `NoneBytes` aka. `Optional[bytes]`
|
|
* `StrBytes` aka. `Union[str, bytes]`
|
|
* `NoneStrBytes` aka. `Optional[StrBytes]`
|
|
|
|
If these aren't sufficient you can of course define your own.
|