跳到正文

行业动态Simon Willison07:59

wrapture 介绍

Introducing wrapture

wrapture 项目用包装器模式降低代码迁移成本,但引入间接层,或增学习门槛。

判断

负责给既有 Python 服务接 OpenTelemetry 的团队,可以先用 wrapture 的 TOML 配置只包一个类来试,不必先动业务代码;但若现有测试靠断言调用次数与参数匹配,则继续用 unittest.mock,binding 的间接层会让失败点变模糊。

依据

Graham Dumpleton——wrapt、mod_wsgi 和 New Relic Python agent 的作者——说,wrapture 把 wrapt 的 monkeypatching(运行时替换已有函数)思路扩到测试与追踪两件事上。Simon Willison 称它既能替代 unittest.mock,也能给已有项目加 tracing,并给出配置式写法:声明 capture、[[observe]] 的 target 与 name、[[sink]] 输出到 trace.jsonl。测试侧,wrapture.binding(Gateway, "charge").on_call.returns(...) 直接换返回值,transforms_result 则在原方法返回值上改一笔,两者都作用于 OrderService().place(500) 内部调用的 Gateway().charge()。Dumpleton 说这是他的第一个全 AI 驱动项目,每一行代码和文档都由 AI 在指导下写,并强调这不同于 vibe coding:设计由他定,AI 只是产出手段。Simon 提醒项目只有几周大。文章页脚的标签计数(python 1,284、ai-assisted-programming 407、testing 95、pytest 25)是 Simon 博客自己的标签量,不是 wrapture 的采用量。

  1. 写 TOML 捕获配置
    启动
  2. 运行被观测程序
    写入
  3. 落到 trace.jsonl
配置式 tracing 的三步:TOML 配置、运行、JSONL 落盘。

没写清 材料没给 wrapture 的运行时开销、与其他 mock 库共存的兼容边界,也没有采用量。

下一步 读 wrapture 文档的 OpenTelemetry 章节,确认它要求的采集器与 Python 版本。

本期其他新闻

  1. 行业动态

    律师事务所 Gilbert + Tobin 如何借助 OpenAI 治理和扩展 AI

    OpenAI

  2. 行业动态

    引用 Andrew Digby 的话

    Simon Willison

  3. AI工具

    医疗机构现可将 EHR 及其他行业数据接入 ChatGPT

    OpenAI

  4. AI工具

    介绍 @huggingface/kernels:用于本地 AI 的 200+ WebGPU 内核

    Hugging Face

  5. 精选深读

    通往 Astra 之路:关键能力与前沿安全防护

    OpenAI