Python: Decimal, Copy Semantics, and a Logging Race Fix

Serhiy Storchaka led a cluster of fixes extending copy-dot-replace support across decimal, csv, tarfile, and zipfile, while a separate fix closed a long-standing race condition in the logging module that could silently drop log records.

Duration: PT3M

Episode overview

This episode is a short developer briefing from Python.

It explains recent repository work in plain language.

  • Show: Python
  • Published: 2026-08-02T13:04:26Z
  • Audio duration: PT3M

Transcript excerpt

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

Good morning. It's August 2nd, 2026, and this is Python.

The biggest theme in today's activity is standardizing how objects support copying and replacement across the standard library, alongside a quiet but important concurrency fix in logging.

Serhiy Storchaka opened or merged a string of related PRs adding "dunder replace" support so that copy-dot-replace works consistently. Decimal's Context got it in PR 155047, tarfile's TarInfo in PR 155046, zipfile's ZipInfo in PR 155045, and csv dialects in PR 155035. The pattern here is maintainability: rather than…

Csv also saw sniffer improvements from Storchaka: PR 155061 makes line-terminator detection a majority vote instead of always assuming carriage-return-newline, and PR 155060 adds a delimiters parameter to the Sniffer constructor. Related work from Punisheroot in PR 155037 stops a truncated final row from throwing…

Second theme: reliability fixes with real-world impact. PR 154528, merged by Storchaka and backported across three releases in PRs 155076, 155077, and 155078, fixes a race condition where removing a logging handler mid-iteration could silently skip other handlers. The fix replaces the handler list instead of…

Also worth…

Nearby episodes from Python

  1. Crash Fixes Across Async and Memory Internals
  2. Curses Cleanup and Correctness Fixes Dominate the Day
  3. Hardening the Corners Before 3.15
  4. Thread Safety and the Great Regex Slowdown Cleanup
  5. Curses Crashes and a Careful Revert
  6. Curses, Concurrency, and a Reflog Revert
  7. Weekly Recap - Memory Safety and Backport Discipline
  8. Locale Encoding Bugs Take Center Stage