Topics covered in this episode:
Python 3.14.0 alpha 1 is now available * uv supports dependency groups * dive: A tool for exploring each layer in a docker image * pytest-metadata * Extras * Joke*

Watch on YouTube
About the show

Sponsored by us! Support our work through:

  • Our courses at Talk Python Training
  • The Complete pytest Course & Hello, pytest!
  • Patreon Supporters

Connect with the hosts

  • Michael: @mkennedy@fosstodon.org
  • Brian: @brianokken@fosstodon.org
  • Show: @pythonbytes@fosstodon.org

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 #1: Python 3.14.0 alpha 1 is now available

  • First of seven planned alpha releases.
  • Many new features for Python 3.14 are still being planned and written. Among the new major new features and changes so far:
    • PEP 649: deferred evaluation of annotations
    • Improved error messages

Brian #2: uv supports dependency groups

  • we covered dependency groups in episode 406
  • as of 0.4.27, uv supports dependency groups
  • docs show how to add dependencies with uv add --group
    • also “The --dev, --only-dev, and --no-dev flags are equivalent to --group dev, --only-group dev, and --no-group dev respectively.”
  • To install a group, uv pip install --group doesn’t work yet.
    • It’s waiting for PyPA to decide on an interface for pip, and uv pip will use that interface.
  • But sync works. $ uv init # create a pyproject.toml$ uv add --group foo pytest$ uv venv # create venv$ uv sync --group foo # will install all dependencies, including group "foo"

Michael #3: dive: A tool for exploring each layer in a docker image

  • via Mike Fiedler
  • Features:
    • Show Docker image contents broken down by layer
    • Indicate what's changed in each layer
    • Estimate "image efficiency"
    • Quick build/analysis cycles
    • CI Integration

Brian #4: pytest-metadata

  • An incredibly useful plugin for adding, you guessed it, metadata, to your pytest results.
  • Required for pytest-html but also useful on it’s own
  • Adds metadata to
    • text output with --verbose
    • xml output when using --junit-xml, handy for CI systems that support junit.xml
  • Other plugins depend on this and report in other ways, such as pytest-html
  • By default, already grabs
    • Python version
    • Platform info
    • List of installed packages
    • List of installed pytest plugins
  • You can add your own metadata
  • You can access all metadata (and add to it) from tests, fixtures, and hook functions via a metadata fixture.
  • This is in the Top pytest Plugins list, currently #5.

Extras

Brian:

  • I’ve started filtering deprecated plugins from the pytest plugin list.
  • I’m also going to start reviewing the list and pulling out interesting plugins as the topic of the next season of Test & Code.

Michael:

  • Pillow 11 is out
  • pip install deutschland
  • Talk Python has a dedicated blog, please subscribe!

Joke: Dog names