Simon Willison

Don't sleep on wrapture

Read the original on Simon Willison →

Graham Dumpleton’s new monkey‑patching library, wrapture, offers a versatile toolkit for Python developers, combining testing utilities, observability, and live tracing. It supports a wide range of use cases—from unit testing and call recording to phased behavior changes and zero‑code tracing via TOML configuration. The library also includes instrumentation for popular frameworks and services, OpenTelemetry export, and interactive JupyterLab workshops, making it a potentially indispensable Swiss‑Army‑knife for Python projects.

Machine-generated by The Flow from the publisher's headline and feed description — not written or checked by a human. The full article lives at Simon Willison.

Simon Willison
Aug 31

Introducing wrapture

Introducing wrapture, a new Python library from Graham Dumpleton that extends the monkeypatching concepts of wrapt to support both testing and tracing simultaneously. It allows developers to wrap any function or method so that all accesses can be traced or overridden, serving as an alternative to unittest.mock and enabling observation of code without altering its behavior. Wrapture includes OpenTelemetry support and offers a configuration-based approach for adding tracing to existing projects, with the entire project and its documentation created under AI assistance.

Simon Willison
Aug 24

llm-anthropic 0.27

The release of llm‑anthropic 0.27 updates the Anthropic plugin for LLM to be compatible with the newly released anthropic v1.0.0 Python library, which has switched from httpx to httpx2. This mirrors a similar change made by OpenAI in their v3.0.0 release two weeks prior. The update includes a migration guide and a pull request that ensures tests pass after upgrading to anthropic>=1.

Simon Willison
Sep 1

Python 3.15.0 candidate 2 is here!

Python 3.15.0 candidate 2 has been released, marking the final release candidate for the upcoming 3.15 release scheduled for October. Hugo van Kemenade, the release manager, notes that only clear bug‑fix changes are allowed between this candidate and the final release, and urges third‑party maintainers to prepare wheels on PyPI and test their projects during this phase. The new RC is not yet available for GitHub Actions, but users can add it to their testing matrix using the allow‑prereleases and check‑latest flags to automatically test against the latest RC and then the stable release.

Simon Willison
Aug 25

EVE Online: The Move to Python 3 Begins!

EVE Online is beginning its transition to Python 3, a move that will involve using the futurize script on 2.4 million lines of code and a manual review of about 20,000 differences between Python 2 and Python 3. The company has historically run on Stackless Python since 2003, with the last major upgrade in 2010 to Stackless Python 2.7. While the announcement does not detail how Stackless will be replaced, the team previously showcased a shift away from Stackless in their Carbon engine for EVE Frontier, leveraging the open‑source carbonengine/scheduler library.

Simon Willison
12h ago

llm 0.36

The release of llm 0.36 introduces new OpenAI models gpt-6-sol and gpt-6-luna, and adds support for model plugins to declare that they do not support conversations via supports_conversation = False. When such models receive assistant or tool history, llm raises a ConversationNotSupported error and the chat interface rejects them before starting a session. Additional changes include wrapping reasoning traces in Markdown output with <details> tags and bug fixes from five contributors.