DiscoverPython Bytes#407 Back to the future, destination 3.14
#407 Back to the future, destination 3.14

#407 Back to the future, destination 3.14

Update: 2024-10-28
Share

Description

Topics covered in this episode:


Watch on YouTube


About the show



Sponsored by us! Support our work through:





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.



Michael #1: Python 3.14.0 alpha 1 is now available





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:





Michael:





Joke: Dog names

Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

#407 Back to the future, destination 3.14

#407 Back to the future, destination 3.14

Michael Kennedy and Brian Okken