Graham Dumpleton 推出了新的 Python 函式庫 Wrapture,該工具擴充了 wrapt 的猴子补丁(monkeypatching)概念,使開發者能同時對函式進行測試與追蹤。Wrapture 允許包裝任何函式或方法,以便在不修改原始程式碼的情況下追蹤存取或覆寫傳回值,成為 unittest.mock 的替代方案。它特別適用於在不干擾程式的情況下觀察外部程式碼,並透過基於組態的機制與 OpenTelemetry 支援,簡化在現有 Python 專案中實作可觀測性。該函式庫建立在「包裝而非取代」的概念上,允許在改變特定屬性的同時執行真實方法。值得注意的是,Wrapture 的所有程式碼與文件均由 AI 助手在 Graham Dumpleton 的指導下編寫,標誌著他第一個大型代理驅動(agent-driven)專案。

事件背景

猴子补丁(Monkeypatching)是 Python 中一種在模組或類別定義後,修改其函式、方法或其他屬性的技術,允許開發者在無需變更原始程式碼的情況下為現有實作新增行為。由 Graham Dumpleton 建立的 wrapt 函式庫提供了透明的物件代理,專注於裝飾器與包裝器的正確性。