Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book

#428: How old is your Python?

Published Mon, Apr 14, 2025, recorded Mon, Apr 14, 2025
Watch this episode on YouTube
Play on YouTube
Watch the live stream replay

About the show

Sponsored by Posit Connect: pythonbytes.fm/connect

Connect with the hosts

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
    • Why a good commit message matters
    • Discussion about each of the 7 rules
    • Cool hat tips to other articles on the subject

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.
  • card index dividers Create, manage, and run Jupyter notebooks with their dependencies
  • pushpin Pin dependencies with PEP 723 - inline script metadata
  • rocket Launch ephemeral sessions for multiple front ends (e.g., JupyterLab, Notebook, NbClassic)
  • high voltage 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:

Joke: BGPT (thanks Doug Farrell)


Want to go deeper? Check our projects