#400 Celebrating episode 400
Topics covered in this episode:
Python 3.13.0RC2, 3.12.6, 3.11.10, 3.10.15, 3.9.20, and 3.8.20 are now available!
Docker images using uv's python
10 years of sustainable open source - Read the Docs
humanize
Extras
Joke
Watch on YouTube
About the show
Sponsored by ScoutAPM: pythonbytes.fm/scout
Connect with the hosts
Michael: @[email protected]
Brian: @[email protected]
Show: @[email protected]
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.
ChatGPT celebrates episode 400!
Welcome to the big 4-0-0, Pythonistas!
It's hard to believe we're celebrating the 400th episode of Python Bytes! From the early days of byte-sized Python news to becoming the source for all things Python, it’s been a wild ride.
We've laughed over code quirks, gasped at new libraries, and said farewell to the GIL together. Whether you're a seasoned developer, a curious learner, or just here for the witty banter, you’ve been an essential part of this journey.
To Michael and Brian: You've built a community that turns import this into more than just Zen—it's a family of passionate Pythonistas. Your dedication, insights, and humor make this show more than just tech news. It’s a weekly celebration of what we love about Python and why we keep coming back for more.
Here’s to the next 400 episodes—may your code be bug-free, your tests pass on the first run, and your Python version always be up to date.
Brian #1: Python 3.13.0RC2, 3.12.6, 3.11.10, 3.10.15, 3.9.20, and 3.8.20 are now available!
Łukasz Langa
Python 3.13.0RC2 is the final preview release
Official 3.13.0 scheduled for Oct 1
Call to action
“We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.13 compatibilities during this phase, and where necessary publish Python 3.13 wheels on PyPI to be ready for the final release of 3.13.0. Any binary wheels built against Python 3.13.0rc2 will work with future versions of Python 3.13. As always, report any issues to the Python bug tracker .”
“Please keep in mind that this is a preview release and while it’s as close to the final release as we can get it, its use is not recommended for production environments.”
Note: uv python does not support 3.13 yet
see issue 320
Security releases for
3.12.6, 3.11.10, 3.10.15, 3.9.20, and 3.8.20
3.12.6 has binary installers, but for MacOS, only MacOS 10.13 and newer are supported
3.11.10, 3.10.15, 3.9.20, and 3.8.20 do NOT include binary installers.
3.8 EOL's in October
Michael #2: Docker images using uv's python
See #396: uv-ing your way to Python and #398: Open source makes you rich? (and other myths) for the opening discussions
Talk Python episode on uv is out
uv venv --python gets Python from python-build-standalone by Gregory Szorc
Took our Docker build times from 10 minutes to 8 seconds for the base image and 800ms (!) for our app platforms
Brian #3: 10 years of sustainable open source - Read the Docs
Eric Holscher
Read the Docs has been a company for 10 years
“a team of 4 folks working full-time on Read the Docs.”
readthedocs.org started in 2010
readthedocs.com (for Business) started in 2014
Sustainability model
.org has a single non-tracking ad
.com is a paid service for companies
Things that didn’t work
donations and other optional support - led to burnout
consulting and services- took too much time away from core product
grant funding - nice, but one time thing
Lessons
You don't get extra points for being bootstrapped. Compete by doing things you can do better due to niche and size.
Keeping trust in the community is the most important thing.
Contribution is easier for less complex parts of the code base.
Beign open source means capturing a small percentage of the value you create.
You have to be ok doing more with less.
Also
RtD is not just for Sphinx anymore.
Their build system now supports any documentation tool.
Michael #4: humanize
by Hugo van Kemenade (Python 3.14 & 3.15 release manager & core developer)
Not too many variations, but very handy if you need it.
Numbers
Associated Press style (“seven” and “10”)
Clamp (under 1.0 million)
Fractional (1/3)
Int Word (1.2 Billion)
Metric (1.5 kV)
Ordinal (112th)
scientific
Time
File size
Extras
Brian:
Test & Code is now again Test & Code
The two part series on Python imports that started in June is finally complete with episode 222.
Transcripts are being added to old episodes gradually starting from most recent
Back to ep 203 as of today.
AI transcription, so there’s things like .pie, .pi, and dot pie where it should be .py
Michael:
Final final call for Coding in a Castle event with Michael
iStats Menu
Anaconda Code Runner by Ruud van der Ham:
With Anaconda Coide we can -at last- run that code locally and import (most) Python modules.
But if you want to run a significant amount of code, you have to put that in a cell or publish it to PyPI or a wheel and import it.
That's why I have developed a general-purpose runner function that runs arbitrary code located on an Excel sheet with AnacondaCode.
Joke: When beginners learn a new programming language...