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
52 lines
2.0 KiB
Markdown
52 lines
2.0 KiB
Markdown
# pydantic
|
|
|
|
[](https://travis-ci.org/samuelcolvin/pydantic)
|
|
[](https://codecov.io/gh/samuelcolvin/pydantic)
|
|
[](https://pypi.python.org/pypi/pydantic)
|
|
[](https://anaconda.org/conda-forge/pydantic)
|
|
[](https://pypistats.org/packages/pydantic)
|
|
[](https://github.com/samuelcolvin/pydantic)
|
|
[](https://github.com/samuelcolvin/pydantic/blob/master/LICENSE)
|
|
|
|
Data validation and settings management using Python type hinting.
|
|
|
|
Fast and extensible, *pydantic* plays nicely with your linters/IDE/brain.
|
|
Define how data should be in pure, canonical Python 3.6+; validate it with *pydantic*.
|
|
|
|
## Help
|
|
|
|
See [documentation](https://pydantic-docs.helpmanual.io/) for more details.
|
|
|
|
## Installation
|
|
|
|
Install using `pip install -U pydantic` or `conda install pydantic -c conda-forge`.
|
|
For more installation options to make *pydantic* even faster,
|
|
see the [Install](https://pydantic-docs.helpmanual.io/install/) section in the documentation.
|
|
|
|
## A Simple Example
|
|
|
|
```py
|
|
from datetime import datetime
|
|
from typing import List
|
|
from pydantic import BaseModel
|
|
|
|
class User(BaseModel):
|
|
id: int
|
|
name = 'John Doe'
|
|
signup_ts: datetime = None
|
|
friends: List[int] = []
|
|
|
|
external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']}
|
|
user = User(**external_data)
|
|
print(user)
|
|
#> User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3]
|
|
print(user.id)
|
|
#> 123
|
|
```
|
|
|
|
## Contributing
|
|
|
|
For guidance on setting up a development environment and how to make a
|
|
contribution to *pydantic*, see
|
|
[Contributing to Pydantic](https://pydantic-docs.helpmanual.io/contributing/).
|