Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.
#459 Inverted dependency trees
- 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:
Connect with the hosts
- Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)
- Brian: @brianokken@fosstodon.org / @brianokken.bsky.social
- Show: @pythonbytes@fosstodon.org / @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
frozendictis added to thebuiltinsmodule. - We expect
frozendictto 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
- 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 ofruff: "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:
Michael:
- No. 4 for dependencies: Inverted dep trees from Bob Belderbos
Joke: git pull inception