Python: Error Handling Cleanup Across the Standard Library

Today's activity is dominated by a wave of fixes that replace raw, undocumented exceptions with the proper documented error types across sqlite3, zipimport, wave, and cookiejar, alongside the usual multi-branch backport churn for a single-quote bug in sqlite3's dump feature.

Duration: PT2M38S

Episode overview

This episode is a short developer briefing from Python.

It explains recent repository work in plain language.

  • Show: Python
  • Published: 2026-07-14T13:10:07Z
  • Audio duration: PT2M38S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

Good day, and welcome to Python for July 14th, 2026.

The clearest signal today: a string of contributors, especially tonghuaroot, are hunting down places where standard library functions leak the wrong exception type instead of the one they document.

Start with sqlite3. PR 153659 fixed iterdump crashing with an operational error when a table name contained a single quote, because the generated SQL didn't escape it properly. That fix landed on main and was immediately backported to Python 3.13, 3.14, and 3.15 in PRs 153682 through 153684 - standard practice for a…

That pattern repeats elsewhere. PR 153678 fixes http2time in cookiejar, which was raising a raw value error instead of returning none for a malformed month name. PR 153680 does the same for zipimport, which leaked a unicode decode error instead of raising a zip import error for a corrupted file name. And PR 153693…

Second theme: infrastructure stability. Russell Keith-Magee's move to the macos-26 runner for iOS builds, PR 153632, required a second fix for a CoreSimulatorService race condition, and both changes are now backported across 3.13, 3.14, and 3.15.

A few other notable items: PR 152483 stops MappingProxyType…

Nearby episodes from Python

  1. Compression Modules Get a Cleanup Pass
  2. Weekly Recap - Process Cleanup, Tkinter Overhaul, and Backport Discipline
  3. Parser Speed and Buffer Safety
  4. Tkinter's Big Cleanup Push
  5. Cleaning Up How the Interpreter Starts and Talks to the World
  6. Concurrency Bugs and Free-Threading Cleanup
  7. Free-Threading Race Conditions Take Center Stage
  8. Correctness Fixes and a New Tkinter Accessibility Push