Pydantic V2 发布首个 alpha,Python 数据验证工具


Pydantic V2 首个 alpha 版本已发布。Pydantic 是 Python 语言的开源类型规范和校验库,提供了强大的数据解析和验证功能,包括运行时强制类型提示、友好的错误消息和设置管理功能等。

发布公告写道Pydantic V2 的最大变化是 pydantic-core ——所有验证逻辑都已用 Rust 重写并迁移至单独的pydantic-core 包。这项变化带来了巨大的改进:

  • 性能——Pydantic V2 比 Pydantic V1 快 5-50 倍。
  • 安全性和可维护性——此版本变更了架构,团队认为这将有助于他们维护 Pydantic V2,从长远来看,错误要少得多。

使用pydantic-core后,Pydantic 库中的大部分逻辑专门用于生成"pydantic core schema"——所使用的模式定义了新的高性能pydantic-core验证器和序列化器的行为。

其他处于实验性阶段的功能:

  • BaseModel——Pydantic V1 中的验证核心仍然存在,但使用了新的方法名称
  • 数据类——改进了 Pydantic 数据类并已准备好进行测试
  • 序列化——转储/序列化/编组更加灵活,可以进行测试
  • 严格模式 (Strict Mode)——Pydantic V2 最大的新增功能之一是严格模式,现已准备好进行测试
  • JSON Schema——生成 JSON Schema 有了很大改进,现已可以进行测试
  • 通用模型 (Generic Models)——包含重大改进
  • 递归模型——递归数据结构的验证有重大改进
  • 自定义类型——引入新的接口,可以进行测试
  • 自定义字段修饰符——通过Annotated[]的使用正在运行中,并在 Pydantic 本身中使用
  • 无需 BaseModel 的验证——新的AnalyzedType类允许在不需要BaseModel类的情况下进行验证
  • TypedDict——现在通过AnalyzedType完全支持TypedDict

相關推薦

2023-06-28

PDM 刚刚发布了 v2.8.0 首个 Alpha。 PDM 是一个现代的 Python 包管理器,支持 PEP 最新标准。 主要特性 支持 PEP 582,完全不需要虚拟环境。 一个简单且相对快速的依赖解析器,特别是对于大的二进制包发布。 兼容 PEP

2023-10-15

Python 3.13.0 首个 alpha 已发布,目前处于非常早期的开发阶段。 本次发布的 Python 3.13 a1 是计划发布的七个 alpha 版本中的第一个。 发布 alpha 是为了更方便地测试新功能、修复错误,以及测试发布过程。请注意,这是一个预览版

2022-11-07

Python 3.12.0 首个 alpha 版本已发布,这是 Python 3.12 的早期开发者预览版。 目前 Python 3.12 处于开发阶段,3.12.0a1 是计划中的七个 alpha 版本中的第一个,许多新特性仍在计划和编写之中。下面简单介绍与 3.11 相比,3.12 系列的主

2023-09-26

Django 5.0 首个 alpha 版本已发布,标志着进入功能冻结阶段。 主要变化 Python 兼容性 Django 5.0 支持 Python 3.10、3.11 和 3.12。开发团队建议用户使用每个 Python 分支的最新版本。 此外,Django 4.2.x 系列是最后一个支持 Python 3.8 和

2023-08-02

obals.py2.89 18.1±0.14µs 163.3 MB/sec1.006.3±0.06µs 471.8 MB/sec lexer/pydantic/types.py 2.57326.4±2.23µs78.1 MB/sec1.00127.2±0.71µs 200.5 MB/sec 词法分析器负责将 Python 源代码标记为 token 流,然后解析器使用这些标记来构建抽象语法树 (AST)。词法分析器

2023-02-19

已发布。 2.0.4 版为 2.0 系列提供了一些新功能,包括对 Pydantic 数据类的插件支持、改进的混合属性类型结构,以及在使用 ORM 声明映射时显式控制表列排序顺序的能力。 详情可查看 Changelog。 下载地址:https://www.sqlalchemy.org/dow

2022-11-22

Mageia 9 首个 Alpha 测试版已发布。公告称 Mageia 9 升级了许多软件包,同时实现了不少新特性,以及改进现有功能。 新版本的控制中心添加了用于删除旧内核的新功能,该功能在 Mageia 9 中默认自动启用,用户也可以手动配置以关

2023-04-27

端,同时支持电子节目指南和高清视频录制。 Kodi 最近发布了 21.0 的首个 Alpha,代号"Omega"。开发团队称这是重要版本更新,增加了许多新功能,不过由于 FFmpeg 6.0 对内核的改动,所以这个版本可能会出现回归错误,安装后会破

2022-04-19

Karafka v2.0.0.alpha6 现已发布。Krafka 是一个用于简化基于 Apache Kafka 的 Ruby 应用开发的框架,它允许开发者在使用异步 Kafka 消息时使用类似于标准 HTTP 约定(params 和 params_batch)的方法。Karafka 不仅可以处理传入的消息,而且还提供

2023-07-07

GNOME 45 首个 Alpha 已发布,稳定版则计划于 9 月发布。 与 GNOME 44 相比,GNOME 45 Alpha 的部分新变化包括: GNOME Shell 改进内置的屏幕记录器 (screen recorder) 修复 Mutter 合成器大量错误,改进对连接显示器的平板电脑的支持,以及

2022-11-17

Python 3.12.0 第二个 alpha 版本已发布,这是 Python 3.12 的早期开发者预览版。 目前 Python 3.12 处于开发阶段,3.12.0a2 是计划中的七个 alpha 版本中的第二个,许多新特性仍在计划和编写之中。下面简单介绍与 3.11 相比,3.12 系列的

2023-01-12

Python 3.12.0 第四个 alpha 版本已发布,这是 Python 3.12 的早期开发者预览版。 目前 Python 3.12 处于开发阶段,3.12.0a4 是计划的七个 alpha 版本中的第四个,许多新特性仍在计划和编写之中。下面简单介绍与 3.11 相比,3.12 系列的主

2022-10-15

SQLAlchemy 2.0.0 首个 Beta 版本已发布。SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射 (ORM) 框架。它包含整套企业级持久化模式,专门用于高效和高性能的数据库访问。 发布公告写道,2.0 旨在适应现代化 Python 的实际使

2024-01-16

2021 年 11 月,Python 版 trzsz 工具 背景:在 iTerm2 中使用 rz sz 又卡死了,才想起当前是 tmux 环境,然后 kill 并重登录,真的很浪费时间。 原因:rz sz 在传输时会有一些特殊字符,tmux 的存在导致传不过去。 解法:如果先