#459 Inverted dependency trees

24/11/2025 32 min Episodio 459

Listen "#459 Inverted dependency trees"

Episode Synopsis

Topics covered in this episode:


PEP 814 – Add frozendict built-in type
From Material for MkDocs to Zensical
Tach
Some Python Speedups in 3.15 and 3.16
Extras
Joke

About the show

Sponsored by us! Support our work through:


Our courses at Talk Python Training
The Complete pytest Course
Patreon Supporters


Connect with the hosts


Michael: @[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 November

or use save50 for 50% off, your choice.

Python Testing with pytest, 2nd edition, eBook (50% off with code save50) also through November

I would have picked 20%, but it’s a PragProg wide thing



Michael #1: PEP 814 – Add frozendict built-in type


by Victor Stinner & Donghee Na
A 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 Hagen
A 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 mode
The 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 reasoning

Transforming Material for MkDocs
Zensical – A modern static site generator built by the creators of Material for MkDocs
Material for MkDocs Insiders – Now free for everyone
Goodbye, GitHub Discussions

Material for MkDocs

still around, but in maintenance mode
all insider features now available to everyone

Zensical is / will be

compatible with Material for Mkdocs, can natively read mkdocs.yml, to assist with the transition
Open Source, MIT license
funded by an offering for professional users: Zensical Spark



Michael #3: Tach


Keep the streak: pip deps with uv + tach
From Gerben Decker
We 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.16

5% faster by 3.15 and 10% faster by 3.16

Decompression is up to 30% faster in CPython 3.15


Extras

Brian:


LeanTDD book issue tracker


Michael:


No. 4 for dependencies: Inverted dep trees from Bob Belderbos


Joke: git pull inception