Repolode
pydantic

pydantic/pydantic

基于 Python 类型提示的数据校验库,可解析并校验外部数据,核心由 Rust 实现。

Star
29,324
Fork
3,147
未关闭 Issue
593
最近提交
19小时前

这是什么?

Pydantic 是一个用于数据校验和解析的 Python 库。开发者用带类型提示的普通 Python 类描述数据结构,Pydantic 会按这些类型校验传入的数据,并把例如数字字符串之类的值转换为声明的类型。它适用于 API 请求体、配置文件以及其他不可信或结构松散的输入。

模型通过继承 BaseModel 定义,校验失败时会指出具体是哪个字段出错。由于定义就是标准的 Python 类型注解,它也能生成 JSON Schema,并与编辑器和 linter 良好配合。当前的主版本 V2 是重写版本,核心用 Rust 实现。项目还在 pydantic.v1 下内置了 V1.10 兼容模块,便于逐步迁移已有代码。

核心功能

  • 01基于标准 Python 类型提示进行数据校验与类型转换。
  • 02通过继承 BaseModel 定义模型,并给出清晰的校验错误信息。
  • 03可从模型生成 JSON Schema。
  • 04定义即普通 Python 注解,与编辑器和 linter 配合良好。
  • 05内置 pydantic.v1 模块,便于从 V1.10 逐步迁移。

适用场景

  • 在 Python Web API 中校验请求体和响应体。
  • 从文件或环境变量加载并检查应用配置。
  • 将不可信的 JSON 输入解析为带类型的对象。
  • 基于 Python 数据模型生成 JSON Schema,用于文档或工具链。

快速上手

  1. 1

    使用 pip 安装 Pydantic

    pip install -U pydantic
  2. 2

    或使用 conda 从 conda-forge 安装

    conda install pydantic -c conda-forge
  3. 3

    定义模型并校验数据(参见 README 中的简单示例)

标签

#python#validation#type-hints#json-schema#parsing#data-modeling#hints#pydantic#python310#python311

常见问题

pydantic 是什么?
基于 Python 类型提示的数据校验库,可解析并校验外部数据,核心由 Rust 实现。 Pydantic 是一个用于数据校验和解析的 Python 库。开发者用带类型提示的普通 Python 类描述数据结构,Pydantic 会按这些类型校验传入的数据,并把例如数字字符串之类的值转换为声明的类型。它适用于 API 请求体、配置文件以及其他不可信或结构松散的输入。
pydantic 可以免费使用吗?用的什么许可证?
pydantic 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
pydantic 还在维护吗?
活跃维护中。pydantic 最近一次提交是在 2026年11月6日。
pydantic 适合用来做什么?
在 Python Web API 中校验请求体和响应体。 从文件或环境变量加载并检查应用配置。 将不可信的 JSON 输入解析为带类型的对象。 基于 Python 数据模型生成 JSON Schema,用于文档或工具链。
pydantic 怎么安装和运行?
使用 pip 安装 Pydantic: pip install -U pydantic 或使用 conda 从 conda-forge 安装: conda install pydantic -c conda-forge 定义模型并校验数据(参见 README 中的简单示例)
在哪里获取 pydantic?
源代码和安装说明在 GitHub 上:https://github.com/pydantic/pydantic

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目