Python Bytes

Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.

https://pythonbytes.fm/

subscribe
share






episode 369: #369: The Readability Episode


Topics covered in this episode:

  • Granian
  • pytest 8 is here
  • Assorted Docker Goodies
  • New GitHub Copilot Research Finds 'Downward Pressure on Code Quality'
  • 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
  • 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 Tuesdays at 11am PT. Older video versions available there too.

Michael #1: Granian

  • via Andy Shapiro and Bill Crook
  • A Rust HTTP server for Python applications.
  • Granian design goals are:
    • Have a single, correct HTTP implementation, supporting versions 1, 2 (and eventually 3)
    • Provide a single package for several platforms
    • Avoid the usual Gunicorn + uvicorn + http-tools dependency composition on unix systems
    • Provide stable performance when compared to existing alternatives
  • Could use better logging
    • But making my own taught me maybe I prefer that!
  • Originates from the Emmett framework.

Brian #2: pytest 8 is here

  • Improved diffs:
    • Very verbose -vv is a colored diff, instead of a big chunk of red.
    • Python code in error reports is now syntax-highlighted as Python.
    • The sections in the error reports are now better separated.
    • Diff for standard library container types are improved.
    • Added more comprehensive set assertion rewrites for comparisons other than equality ==, with the following operations now providing better failure messages: !=, <=, >=, <, and >.
  • Improvements to -r for xfailures and xpasses
    • Report tracebacks for xfailures when -rx is set.
    • Report captured output for xpasses when -rX is set.
    • For xpasses, add - in summary between test name and reason, to match how xfail is displayed.
    • This one was important to me. Massively helps when checking/debugging xfail/xpass outcomes in CI. Thanks to Fabian Sturm, Bruno Oliviera, and Ran Benita for help to get this release.
  • Lots of other improvements
  • See full changelog for all the juicy details. And then upgrade and try it out!
  • pip install -U pytest

Michael #3: Assorted Docker Goodies

  • OrbStack
    • Say goodbye to slow, clunky containers and VMs
    • OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative.
  • Podman
    • Podman is an open source container, pod, and container image management engine. Podman makes it easy to find, run, build, and share containers.
      • Manage containers (not just Podman.)
      • Podman Desktop allows you to list, view, and manage containers from multiple supported container engines* in a single unified view.
      • Gain easy access to a shell inside the container, logs, and basic controls.
      • Works on Podman, Docker, Lima, kind, Red Hat OpenShift, Red Hat OpenShift Developer Sandbox.
  • CasaOS
    • Your Personal Cloud OS.
    • Community-based open source software focused on delivering simple personal cloud experience around Docker ecosystem.
    • Also have the ZimaCube hardware (Personal cloud. Re-invented.)

Brian #4: New GitHub Copilot Research Finds 'Downward Pressure on Code Quality'

  • David Ramel
  • Regarding “…the quality and maintainability of AI-assisted code compared to what would have been written by a human.”
  • Q: "Is it more similar to the careful, refined contributions of a Senior Developer, or more akin to the disjointed work of a short-term contractor?"
  • A: "We find disconcerting trends for maintainability. Code churn -- the percentage of lines that are reverted or updated less than two weeks after being authored -- is projected to double in 2024 compared to its 2021, pre-AI baseline. We further find that the percentage of 'added code' and 'copy/pasted code' is increasing in proportion to 'updated,' 'deleted,' and 'moved 'code. In this regard, AI-generated code resembles an itinerant contributor, prone to violate the DRY-ness [don't repeat yourself] of the repos visited."

Extras

Brian:

  • Did I mention pytest 8? Just pip install -U pytest today
  • And if you want to learn pytest super fast, check out The Complete pytest Course or grab a copy of the book, Python Testing with pytest

Michael:

  • I’d like to encourage people to join our mailing list. We have some fun plans and some of them involve our newsletter. It’s super private, no third parties, no spam and is based on my recent Docker and Listmonk work.
  • Big release for Pydantic, 2.6.
  • New essay: Use Custom Search Engines Way More

Joke:

  • Pushing to main
  • Junior vs Senior engineer


fyyd: Podcast Search Engine
share








 January 30, 2024  34m