Search

Home > Python Bytes > #478 Iodine tablets and potable water
Podcast: Python Bytes
Episode:

#478 Iodine tablets and potable water

Category: Technology
Duration: 00:40:13
Publish Date: 2026-05-04 08:00:00
Description: Topics covered in this episode:
Watch on YouTube

About the show

Sponsored by us! Support our work through:

Connect with the hosts

Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 11am PT. Older video versions available there too.

Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.

Brian #1: profiling-explorer

  • Adam Johnson
  • And intro post Python: introducing profiling-explorer
  • profiling-explorer is a tool for exploring profiling data from Python’s built-in profilers, which are stored in pstats files. ”
  • Features
    • Dark mode
    • Click the calls, internal ms, or cumulative ms column headers to sort by that column.
    • Use the search box to filter by filename or function name.
    • Hover by a filename + line number pair to reveal the copy button, which copies the location to your clipboard for faster opening.
    • Click the callers or callees links on the right of a row (not pictured above) to see the callers or callees of that function.

Michael #2: Reverting the incremental GC in Python 3.14 and 3.15

  • Python 3.14 shipped with a new incremental garbage collector, but production reports of severe memory pressure (Neil Schemenauer measured up to 5× peak RSS on pathological cyclic workloads) have pushed the core team and Steering Council to revert it in both 3.14 and 3.15 - returning to the 3.13-era generational GC.
  • This is the second time the inc GC has been pulled back: it was also reverted right before 3.13.0 final, and it shipped in 3.14 without going through the PEP process.
  • The tradeoff is real: Neil's benchmarks showed max GC pause times of 1.3ms with inc GC versus 26ms with the generational one - great for latency-sensitive apps, terrible for memory-constrained ones.
  • Release manager Hugo van Kemenade will ship 3.14.5 early with the revert, and Gregory Smith floated the idea of a 3.14.5rc1 - the first patch-release RC since 3.9.2 back in 2021.
  • Tim Peters spent the thread doing live forensics on Windows, running a toy deque program that should cap at 1GB and watching it balloon to 15.6GB on a 16GB machine - and discovered the gen0 collector effectively never fires under the new scheme.
  • Tim's bigger meta-point: CPython has a chronic shortage of real-world GC benchmarks, pyperformance has "basically no interesting" cyclic workloads, and users almost never share real data - so core devs keep flying blind on changes like this.
  • Django maintainer Adam Johnson published a blog post mid-thread documenting a real memory "leak" in Django's migration system caused by inc GC, with a manual gc.collect() workaround - the listener-facing receipt that this wasn't just theoretical.
  • If the inc GC comes back for 3.16, it'll go through a proper PEP, and the discussion is already shifting toward keeping both collectors available via a startup flag - which Neil and Sergey Miryanov have both prototyped.

Brian #3: VSCode AI Co-author defaults to on, then off

Michael #4: django freeze

  • Convert your dynamic django site to a static one with one line of code.
  • Just run python manage.py generate_static_site :)
  • Features
    • Generate the static version of your Django site, optionally compressed .zip file
    • Generate/download the static site using urls (only superuser and staff)
    • Follow sitemap.xml urls
    • Follow internal links founded in each page
    • Follow redirects
    • Report invalid/broken urls
    • Selectively include/exclude media and static files
    • Custom base url (very useful if the static site will run in a specific folder different by the document-root)
    • Convert urls to relative urls (very useful if the static site will run offline or in an unknown folder different by the document-root)
    • Prevent local directory index

Extras

Brian:

Michael:

Joke: Friends in tech

Total Play: 0

Some more Podcasts by Michael Kennedy

500+ Episodes
Talk Python .. 300+     50+