Topics covered in this episode:
Open Source Pledge * Jeff Triplet's DjangoTV * PEP 735 – Dependency Groups in pyproject.toml * livereload * Extras * Joke*

Watch on YouTube
About the show

Sponsored by ScoutAPM: pythonbytes.fm/scout

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.

Brian #1: Open Source Pledge

  • Learned about this because of this post
    • Why Django supports the Open Source Pledge
  • Steps
    • Pay Open Source maintainers.
      • Min to participate is 2k/year/dev at your company
    • Self-report annually
      • Publish a blog post outlining your payments
  • Armin’s post about launching Open Source Pledge and mixing money with open source

Michael #2: Jeff Triplet's DjangoTV

  • A nice aggregation of lots of Django conference talks
  • Filter by conference
  • Good search as well

Brian #3: PEP 735 – Dependency Groups in pyproject.toml

  • Author: Stephen Rosen, Sponsor: Brett Cannon, PEP-Delegate: Paul Moore
  • Accepted. Resolotion Oct 10, 2024
  • “This PEP specifies a mechanism for storing package requirements in pyproject.toml files such that they are not included in any built distribution of the project.”
  • Allow us to define named groups of dependencies that can be independent of the main project.
  • ex:

[dependency-groups]test = ["pytest", "coverage"]docs = ["sphinx", "sphinx-rtd-theme"]typing = ["mypy", "types-requests"]typing-test = [{include-group = "typing"}, {include-group = "test"}, "useful-types"] * “might” work like this: pip install --dependency-groups=test,typing

+ but tool venders are able to define how they use groups. Of course.
  • Similar solutions
    • multiple requirements.txt files: requirements_test.txt, requirements_docs.txt, etc.
      • no standard naming convention, not standardized
    • package extras:
      • not gauranteed to be statically defined (TIL)
      • additional to main dependencies, so not independent

Michael #4: livereload

  • Example from talkpython.fm: asset_bundler_watcher.py
  • The docs are sparse, so see the gist above

Extras

Brian:

  • Personal Blogs are no longer personal when AI gets too involved - KJayMiller
  • Mind Your Image Metadata - Stefanie Molin

Michael:

  • 14% of our listeners are in Germany, thanks Germany!
    • Prost!
  • Hetzner comes to the US

Joke:

  • A programmer’s partner asks them: “Would you go get a loaf of bread from the store? And if they have eggs, get a dozen.”
  • A while later, the programmer returns with 12 loaves of bread and says “They had eggs.”
    • From https://savvyprogrammer.io/software-jokes/