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

2024-07-26

头的CSV文件批量导入至MYSQL 使用方式: 启动脚本 nohup python3 csv_input_mysql.py > csv_input_mysql.log & 生成的文件名称 csv_input_mysql.log 可以根据情况修改,如果想保留全部日志可以将 > 替换为 >> 即可 导出错误日志 cat csv_

2022-11-22

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

2023-04-27

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

2024-07-30

工具 csv_input_mysql.py 运行启动 启动脚本 直接执行: python3 csv_input_mysql.py 或通过日志生成 nohup python3 csv_input_mysql.py > csv_input_mysql.log & 生成的文件名称 csv_input_mysql.log 可以根据情况修改,如果想保留全部日志可以将 >

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 合成器大量错误,改进对连接显示器的平板电脑的支持,以及

2024-07-10

Socket.D 协议? Socket.D 是一个基于事件和语义消息流的网络应用协议。在微服务、移动应用、物联网等场景,可替代 http、websocket 等。协议详情参考《官网介绍》。 支持: tcp, udp, ws, kcp 传输。 目前:java,kotlin,javascript

2024-10-18

Python 3.14.0 Alpha 1 现已发布。Python 3.14 仍在开发中,此版本是计划中的七个 alpha 版本中的第一个。 公告指出,Alpha 版本旨在让测试新功能和错误修复的当前状态以及测试发布过程变得更加容易。在 alpha 阶段,可能会添加功能,