# open-source 320

Published articles for open-source 320.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Wrapture: a Python package for monkey patching, testing, and observability

DevFeed: [Wrapture: a Python package for monkey patching, testing, and observability](<https://devfeed.tech/articles/don-t-sleep-on-wrapture-31170.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/11/wrapture/>)

Author: Simon Willison

Published: 2026-09-11T13:51:32Z

Content type: opinion

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [jupyterlab](<https://devfeed.tech/topics/jupyterlab.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [graham-dumpleton](<https://devfeed.tech/tags/graham-dumpleton.md>), [graham-dumpleton-6](<https://devfeed.tech/tags/graham-dumpleton-6.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [monkey-patching](<https://devfeed.tech/tags/monkey-patching.md>), [monkey-patching-10](<https://devfeed.tech/tags/monkey-patching-10.md>), [observability](<https://devfeed.tech/tags/observability.md>), [observability-10](<https://devfeed.tech/tags/observability-10.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-320](<https://devfeed.tech/tags/open-source-320.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [python](<https://devfeed.tech/tags/python.md>), [python-1-283](<https://devfeed.tech/tags/python-1-283.md>), [testing](<https://devfeed.tech/tags/testing.md>), [testing-95](<https://devfeed.tech/tags/testing-95.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

This article reviews wrapture, an alpha Python package by Graham Dumpleton for monkey patching, unit testing, call recording, live and zero-code tracing, timing analysis, and OpenTelemetry export. It highlights tutorials and JupyterLab workshops covering the package and related instrumentation.

### Source excerpt

Graham Dumpleton's new monkey patching package wrapture is shaping up to be an indispensable tool for Python developers. I'm not sure why I've seen so little buzz about it! Graham has been posting new tutorials for it almost daily since the initial release on August 31st. Here's everything he's published so far: Introducing wrapture - a new monkey patching library that serves both testing and observability (think New Relic style tracing) at the same time. Unit testing with wrapture - how to use it for the same kinds of thing as unittest.mock. Recording calls with wrapture - recording method calls as timelines and processing and displaying them as trees. Phased behaviour in wrapture - arranging patched methods to change behavior across multiple calls. Beyond callables in wrapture - monkey patching attributes, dictionaries, generators. Live tracing with wrapture - tracing a live application to see exactly how it works. Zero-code tracing with wrapture - configuring tracing in a separate TOML file without modifying Python code at all. Tracing Flask with wrapture - using the separate wrapture-instrumenation package to instrument a Flask application. That package also provides instrumentation for aiohttp.client, aiohttp.web, django, fastapi, flask, grpc, http.client, httpx, jinja2, requests, sqlalchemy, sqlite3, starlette, urllib.request, urllib3, uvicorn, werkzeug.serving, wsgiref.simple_server, xmlrpc.client, xmlrpc.server. Finding slow code with wrapture - wrapture's tools for recording timing information, both individually and aggregated across multiple calls. OpenTelemetry export in wrapture - exporting traces to OpenTelemetry. Graham also has a set of interactive workshops for wrapture, implemented as JupyterLab notebooks. Wrapture is still alpha software but it's already very usable - especially given you can configure and try it out with a TOML file without modifying any Python code at all. This feels like one of those Swiss Army Knife packages that, once mastered

## Native is now the future of mobile at Shopify

DevFeed: [Native is now the future of mobile at Shopify](<https://devfeed.tech/articles/native-is-now-the-future-of-mobile-at-shopify-31158.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/10/shopify-react-native/>)

Author: Simon Willison

Published: 2026-09-10T21:11:15Z

Content type: opinion

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [React Native](<https://devfeed.tech/topics/react-native.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Android](<https://devfeed.tech/topics/android.md>), [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-2-236](<https://devfeed.tech/tags/ai-2-236.md>), [ai-assisted-search](<https://devfeed.tech/tags/ai-assisted-search.md>), [ai-assisted-search-36](<https://devfeed.tech/tags/ai-assisted-search-36.md>), [android](<https://devfeed.tech/tags/android.md>), [android-14](<https://devfeed.tech/tags/android-14.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [coding-agents-248](<https://devfeed.tech/tags/coding-agents-248.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-26](<https://devfeed.tech/tags/ios-26.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-948](<https://devfeed.tech/tags/llms-1-948.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-41](<https://devfeed.tech/tags/mobile-41.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-320](<https://devfeed.tech/tags/open-source-320.md>), [react](<https://devfeed.tech/tags/react.md>), [react-43](<https://devfeed.tech/tags/react-43.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [shopify-8](<https://devfeed.tech/tags/shopify-8.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-12](<https://devfeed.tech/tags/swift-12.md>)

### AI overview

Shopify is moving its mobile apps from React Native back to separate Swift and Kotlin codebases. The article explains that AI agents can now handle enough implementation, translation, testing, and review work to reduce the cost of maintaining separate platforms. It also notes the planned relocation or archival of Shopify's React Native libraries.

### Source excerpt

Native is now the future of mobile at Shopify Shopify are moving from React Native back to separate Swift and Kotlin codebases for their native apps, for the exact reason you would expect: We decided to switch from native to React Native in 2020 for three reasons: Stop building the same features twice Allow developers to work across the stack Spend less time chasing feature parity and more time shipping value [...] Native still means building and maintaining software on two platforms, that cost has not disappeared. What changed is that agents can now do enough of the implementation, translation, testing, and review work that it's no longer the deciding factor it was in 2020. It's a well-written post, which gives full credit to React Native as a great platform for the six years they were using it. Shopify are the maintainers of three significant React Native libraries: react-native-skia, flash-list, and restyle. The first two are finding new homes; the third "has a smaller user base than our other libraries" and will be archived at the end of 2026. Via Hacker News Tags: android, mobile, open-source, ios, ai, react, generative-ai, llms, ai-assisted-search, coding-agents, swift, shopify