使用 Python 类型提示进行数据验证。
Pydantic 快速且可扩展,与您的 linter/IDE/思维方式契合良好。 用纯粹、规范的 Python 3.9+ 定义数据应有的样子;用 Pydantic 进行验证。
我们最近推出了 Pydantic Logfire,以帮助您监控应用程序。 了解更多
Pydantic V2 是一个从头重写的版本,与 Pydantic V1 相比,它提供了许多新功能、性能改进以及一些不兼容的更改。
如果您正在使用 Pydantic V1,您可能需要查看
pydantic V1.10 文档 或
1.10.X-fixes git 分支。Pydantic V2 还内置了最新版本的 Pydantic V1,因此您可以逐步升级您的代码库和项目: from pydantic import v1 as pydantic_v1。
有关更多详细信息,请参阅文档。
使用 pip install -U pydantic 或 conda install pydantic -c conda-forge 进行安装。
有关其他安装选项(以使 Pydantic 更快)的更多信息,
请参阅文档中的安装部分。
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
class User(BaseModel):
id: int
name: str = 'John Doe'
signup_ts: Optional[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有关设置开发环境和如何为 Pydantic 做出贡献的指南,请参阅 贡献 Pydantic。
请参阅我们的安全策略。