#428: How old is your Python?
Published Mon, Apr 14, 2025,
recorded Mon, Apr 14, 2025
About the show
Sponsored by Posit Connect: pythonbytes.fm/connect
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.
Brian #1: How to Write a Git Commit Message
- Chris Beams
- 7 rules of a great commit message
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Wrap the body at 72 characters
- Use the body to explain what and why vs. how
- Article also includes
Michael #2: Caddy Web Server
- via Fredrik Mellström
- Like a more modern NGINX
- Caddy automatically obtains and renews TLS certificates for all your sites.
- Caddy's native configuration is a JSON document.
- Even localhost and internal IPs are served with TLS using the intermediate of a fully-automated, self-managed CA that is automatically installed into most local trust stores.
- Configure multiple Caddy instances with the same storage, and they will automatically coordinate certificate management as a fleet.
- Production-grade static file server.
Brian #3: Some new PEPs approved
- PEP 770 – Improving measurability of Python packages with Software Bill-of-Materials
- Accepted for packaging
- Author: Seth Larson, Sponsor Brett Cannon
- “This PEP proposes using SBOM documents included in Python packages as a means to improve automated software measurability for Python packages.”
- PEP 750 – Template Strings
- Accepted for Python 3.14
- Author: Jim Baker, Guido van Rossum, Paul Everitt, Kaudai Aono, Lysandros Nikolaou, Dave Peck
- “Templates provide developers with access to the string and its interpolated values before they are combined. This brings native flexible string processing to the Python language and enables safety checks, web templating, domain-specific languages, and more.”
Michael #4: juv
- A toolkit for reproducible Jupyter notebooks, powered by uv.
Create, manage, and run Jupyter notebooks with their dependencies
Pin dependencies with PEP 723 - inline script metadata
Launch ephemeral sessions for multiple front ends (e.g., JupyterLab, Notebook, NbClassic)
Powered by uv for fast dependency management
- Use uvx to run jupyterlab with ephemeral virtual environments and tracked dependencies.
Extras
Brian:
- Status of Python versions
- new-ish format
- Use this all the time. Can’t remember if we’ve covered the new format yet.
- See also Python endoflife.date
- Same dates, very visible encouragement to move on to Python 3.13 if you haven’t already.
Michael:
- Python 3.13.3 is out.
- .git-blame-ignore-revs follow up
Joke: BGPT (thanks Doug Farrell)