Topics covered in this episode:
PEP 814 – Add frozendict built-in typeFrom Material for MkDocs to ZensicalTachSome Python Speedups in 3.15 and 3.16ExtrasJokeSponsored by us! Support our work through:
Our courses at Talk Python TrainingThe Complete pytest CoursePatreon SupportersMichael: @[email protected] / @mkennedy.codes (bsky) Brian: @[email protected] / @brianokken.bsky.social Show: @[email protected] / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am 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.
Michael #0: Black Friday is on at Talk Python
What’s on offer:An AI course mini bundle (22% off)20% off our entire library via the Everything Bundle (what's that? ;) )The new Talk Python in Production book (25% off)Brian: This is peer pressure in action
20% off The Complete pytest Course bundle (use code BLACKFRIDAY) through Novemberor use save50 for 50% off, your choice.Python Testing with pytest, 2nd edition, eBook (50% off with code save50) also through NovemberI would have picked 20%, but it’s a PragProg wide thingMichael #1: PEP 814 – Add frozendict built-in type
by Victor Stinner & Donghee NaA new public immutable type frozendict is added to the builtins module.We expect frozendict to be safe by design, as it prevents any unintended modifications. This addition benefits not only CPython’s standard library, but also third-party maintainers who can take advantage of a reliable, immutable dictionary type.To add to existing frozen types in Python.Brian #2: From Material for MkDocs to Zensical
Suggested by John HagenA lot of people, me included, use Material for MkDocs as our MkDocs theme for both personal and professional projects, and in-house docs.This plugin for MkDocs is now in maintenance modeThe development team is switching to working on Zensical, a static site generator to overcome some technical limitations with MkDocs. There’s a series of posts about the transition and reasoningTransforming Material for MkDocsZensical – A modern static site generator built by the creators of Material for MkDocsMaterial for MkDocs Insiders – Now free for everyoneGoodbye, GitHub DiscussionsMaterial for MkDocsstill around, but in maintenance modeall insider features now available to everyoneZensical is / will becompatible with Material for Mkdocs, can natively read mkdocs.yml, to assist with the transitionOpen Source, MIT licensefunded by an offering for professional users: Zensical SparkKeep the streak: pip deps with uv + tachFrom Gerben DeckerWe needed some more control over linting our dependency structure, both internal and external.We use tach (which you covered before IIRC), but also some home built linting rules for our specific structure. These are extremely easy to build using an underused feature of ruff: "uv run ruff analyze graph --python python_exe_path .".Example from an app I’m working on (shhhhh not yet announced!)Brian #4: Some Python Speedups in 3.15 and 3.16
A Plan for 5-10%* Faster Free-Threaded JIT by Python 3.165% faster by 3.15 and 10% faster by 3.16Decompression is up to 30% faster in CPython 3.15LeanTDD book issue trackerNo. 4 for dependencies: Inverted dep trees from Bob Belderbos